E2E Networks Cloud & TIR MCP Server
Provides tools for launching and managing Jupyter AI Labs on the TIR AI/ML Platform, including listing, creating, and controlling notebook instances.
Provides tools for inspecting and managing managed Kubernetes clusters and worker node pools on E2E Cloud.
Enables provisioning and managing managed MariaDB database clusters as part of E2E Cloud DBaaS.
Enables provisioning and managing managed MySQL database clusters as part of E2E Cloud DBaaS.
Provides tools for listing and managing NVIDIA GPU instances and hardware SKUs (H100, A100, L40S, L4) on E2E Cloud and TIR.
Enables provisioning and managing managed PostgreSQL database clusters as part of E2E Cloud DBaaS.
Click on "Deploy 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., "@E2E Networks Cloud & TIR MCP Serverlaunch an A100 GPU node in DEL-1 and give me its public IP"
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.
E2E Networks Cloud & TIR MCP Server
The official Model Context Protocol (MCP) server for E2E Networks Cloud and the TIR AI/ML Platform.
Connect Claude Desktop, Cursor, Google Antigravity, and Codex directly to your E2E Cloud infrastructure to provision GPUs, manage nodes, control databases, orchestrate Kubernetes, and run AI workloads.
⚡ Quickstart (Zero Installation via npx)
You do not need to clone this repository or install anything globally. You can set it up in two simple commands using npx:
Step 1: Configure your E2E credentials
Run the interactive configuration wizard (like aws configure):
npx -y e2e-mcp configureThis prompts for:
E2E API Key (from MyAccount → Security / API Tokens)
E2E Auth Token (Bearer token)
Default Location (e.g.
DEL-1orNCR-1)Saved securely to
~/.e2e/credentials(chmod 0600).
Step 2: Auto-install into your AI Assistant
Automatically register the MCP server in Claude Desktop, Cursor, and Antigravity:
npx -y e2e-mcp installRestart your AI assistant, and you're ready!
Related MCP server: Cloud Pilot MCP
💻 Manual Setup in AI Assistants
If you prefer to configure your assistant's JSON file manually:
1. Claude Desktop
Add to your config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"e2e-cloud": {
"command": "npx",
"args": ["-y", "e2e-mcp"]
}
}
}If you didn't runnpx e2e-mcp configure, you can pass credentials directly in the env block:
"env": {
"E2E_API_KEY": "YOUR_API_KEY",
"E2E_AUTH_TOKEN": "YOUR_AUTH_TOKEN",
"E2E_PROJECT_ID": "YOUR_PROJECT_ID",
"E2E_LOCATION": "DEL-1"
}2. Cursor
Add to .cursor/mcp.json or Cursor Settings → MCP:
{
"mcpServers": {
"e2e-cloud": {
"command": "npx",
"args": ["-y", "e2e-mcp"]
}
}
}3. Google Antigravity
Add to ~/.gemini/config/mcp_config.json:
{
"mcpServers": {
"e2e-cloud": {
"command": "npx",
"args": ["-y", "e2e-mcp"]
}
}
}🛠️ Available MCP Tools
Once connected, your AI assistant gains access to 40+ specialized cloud tools:
🖥️ Compute & NVIDIA GPUs
e2e_list_nodes— List all running VMs and GPU instances with IPs, plans, and regions.e2e_get_node— Get full technical specifications, network interfaces, and disk info for a node.e2e_create_node— Launch new compute or GPU instances on-demand.e2e_node_action— Control node lifecycle:power_on,power_off,reboot,lock,unlock.e2e_delete_node— Terminate and delete an instance.e2e_list_plans/e2e_list_os_images— Inspect hardware plans, pricing, and operating systems.e2e_get_node_health— Retrieve live CPU, memory, and disk health metrics.
🤖 TIR AI/ML Cloud
e2e_tir_list_gpu_skus— List available NVIDIA GPU hardware (H100 SXM5, A100, L40S, L4).e2e_tir_list_notebooks/e2e_tir_create_notebook— Launch and manage Jupyter AI Labs.e2e_tir_notebook_action— Start, stop, or reboot AI Lab notebooks.e2e_tir_list_model_endpoints— Monitor deployed LLM inference endpoints.e2e_tir_list_datasets— Manage training and fine-tuning datasets.e2e_tir_list_training_clusters— Manage Slurm & distributed training clusters.
💾 Storage & Buckets
e2e_list_volumes/e2e_create_volume— Manage block storage volumes (SSD/NVMe).e2e_attach_volume/e2e_detach_volume— Attach or detach block volumes to nodes.e2e_list_buckets/e2e_create_bucket— S3-compatible EOS Object Storage buckets.e2e_list_sfs— Shared File System (SFS/NFS) storage.
🌐 Networking & Security
e2e_list_vpcs/e2e_create_vpc— Virtual Private Cloud networks and subnets.e2e_list_reserved_ips/e2e_action_reserved_ip— Manage static public IP addresses.e2e_list_security_groups— Inspect firewalls and security rules.e2e_list_load_balancers— Application and Network Load Balancers (ALB / NLB).
🗄️ Managed Databases (DBaaS)
e2e_list_databases/e2e_create_database— Provision managed PostgreSQL, MySQL, MariaDB, Kafka.e2e_get_database/e2e_database_action— Cluster health, topologies, failover, start/stop.
☸️ Managed Kubernetes
e2e_list_k8s_clusters/e2e_get_k8s_cluster— Inspect Kubernetes clusters and API endpoints.e2e_list_k8s_node_pools— Manage cluster worker node pools.
🌐 Universal REST Tool (e2e_raw_request)
e2e_raw_request— Allows Claude to call any of E2E's 450+ REST endpoints with automatic authentication, region normalization, and error handling.
⚙️ Optional & Advanced Setups
You can maintain separate profiles (e.g. [default], [production], [staging]):
npx -y e2e-mcp configure --profile staging
npx -y e2e-mcp install --profile stagingStored in ~/.e2e/credentials and ~/.e2e/config.
Run as a shared HTTP service with SSE and a built-in Web Dashboard:
npx -y e2e-mcp --http --port 3000Dashboard:
http://localhost:3000/SSE Endpoint:
http://localhost:3000/sseHealth Check:
http://localhost:3000/health
docker run -d -p 3000:3000 \
-e E2E_API_KEY="your_key" \
-e E2E_AUTH_TOKEN="your_token" \
ghcr.io/vingupta3/e2e-mcp:latestgit clone https://github.com/vingupta3/e2e-mcp.git
cd e2e-mcp
npm install
npm test
npm run buildSee CONTRIBUTING.md for pull request guidelines.
📄 License
Apache 2.0 © 2026 Vinay Gupta
Available Tools
46 toolse2e_action_reserved_ipC
Attach, detach, or live-reserve a static public IP to/from a compute node or load balancer.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Action type: "attach", "detach", or "live-reserve". | |
| vm_id | Yes | Target node / VM ID. | |
| location | No | Location/region code. | |
| ip_address | Yes | The reserved IP address (e.g. "203.0.113.10"). | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure for a mutating tool, and it delivers almost none: it does not explain whether detach releases or merely unlinks the IP, what 'live-reserve' actually does (or how it differs from plain reserve), idempotency, or required permissions. It also promises targeting a 'load balancer' while the schema only accepts vm_id, leaving the behavior on that path unclear.
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?
A single, front-loaded sentence with no filler; the three actions and the resource are stated immediately. It is efficient, though it is arguably too terse for a multi-action mutation tool.
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?
Five parameters (three required), an enum action, no output schema and no annotations mean the description should carry a lot of context, and it does not: it omits what live-reserve returns versus attach, whether location/project_id are required in practice, and any relationship to e2e_list_reserved_ips. The load-balancer mention is unbacked by the 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 description coverage is 100%, so the enum and each field are already documented in the schema; the description adds no format, default, or conditional meaning beyond that. The one extra it does add – mentioning load balancer as a target – conflicts with the documented parameters rather than clarifying them, but the baseline for full schema coverage is 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 names a specific resource (static public IP) and three concrete verbs (attach, detach, live-reserve) with their targets, so the purpose is unambiguous. It does not, however, differentiate itself from siblings like e2e_list_reserved_ips or e2e_attach_volume/e2e_detach_volume, so an agent must infer the boundary.
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 indication of when to pick this tool over e2e_list_reserved_ips (which presumably shows what IPs exist) or when each of the three action values is appropriate. No prerequisites, no exclusions, no alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_attach_security_groupC
Attach a security group to a compute node.
| Name | Required | Description | Default |
|---|---|---|---|
| vm_id | Yes | Compute node VM ID. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. | |
| security_group_id | Yes | Security group ID to attach. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Attach' implies a mutation, but nothing is said about idempotency, whether it replaces or combines with existing groups, required permissions, failure conditions, or reversibility. Only the bare operation is disclosed.
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?
A single short sentence, front-loaded with the operation and target; every word earns its place. It is arguably too terse rather than verbose, so not a full 5.
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 mutation tool with no annotations and no output schema, the description omits what an agent most needs: whether the call is idempotent, what it returns, error behavior, and required preconditions. The two optional params (location, project_id) usage is also unexplained.
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 100%, so the four parameters are already documented (vm_id, security_group_id, location, project_id). The description mentions a security group and compute node but adds no format, ID conventions, or meaning beyond the schema. Baseline 3 applies.
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?
States a specific verb (attach) plus resource (security group) and target (compute node), so the agent knows exactly what operation occurs. It does not explicitly name the sibling e2e_detach_security_group, but the attach/detach distinction is self-evident from the verb.
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 versus alternatives, nor any prerequisites (e.g., the group and node must exist, node must be in a compatible state). The agent must infer all context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_attach_volumeC
Attach a block storage volume to a compute node (VM).
| Name | Required | Description | Default |
|---|---|---|---|
| vm_id | Yes | Target node / VM ID to attach the volume to. | |
| block_id | Yes | Block volume ID. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden for a mutating operation. It does not say whether the volume must be unattached first, whether the attach is idempotent, what permissions are needed, or what happens on failure. Only the basic action is conveyed.
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?
A single front-loaded sentence with no filler, sized appropriately for a simple two-required-parameter operation. No structural issues, though it is arguably too terse to be maximally useful.
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 mutating tool with no annotations and no output schema, the description omits the prerequisites and side effects an agent needs before invoking it, such as volume state requirements and the fact that location/project_id likely must match the target VM.
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 100%, so vm_id, block_id, location, and project_id are already documented in the schema. The description merely echoes the resource types and adds no format, constraint, or relationship detail (e.g. that location/project_id should match the VM), so baseline 3 applies.
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?
States a specific verb and resource ('Attach a block storage volume') and names the target ('a compute node (VM)'), which is enough to distinguish it from read-only siblings like e2e_list_volumes. It does not explicitly differentiate from e2e_detach_volume or e2e_delete_volume, but the operation itself is 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?
No when-to-use guidance, no prerequisites (e.g. that the volume and VM must be in the same location/project), and no reference to alternatives such as e2e_detach_volume. Usage is only implied by the verb 'attach'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_configure_credentialsA
Configure E2E Networks API credentials in ~/.e2e/credentials and ~/.e2e/config. Allows any AI assistant (Google Antigravity, Claude, Cursor, Codex) to set up or update API credentials directly. location and project_id are optional and should be omitted to allow searching across all projects and locations.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | Your E2E API Key (from MyAccount -> Security / API Tokens). | |
| profile | No | Configuration profile name (default: "rb-e2e-account"). | rb-e2e-account |
| location | No | Default Region/Location (optional: leave empty to search across all locations). | |
| auth_token | Yes | Your E2E Auth Token (Bearer token). | |
| project_id | No | Default Project ID (optional: leave empty to query across default/all projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the write side-effect location (two files under ~/.e2e), which the schema does not. However it omits key behavioral facts for a credential-mutation tool: whether existing credentials are overwritten, whether the inputs are validated, and how secrets are stored.
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?
Three sentences, front-loaded with the action and its side effects, and the optional-parameter guidance comes last where it belongs. The middle sentence about supported AI assistants is partly context/promotional rather than operational, a minor bit of non-earning text.
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 mutation/config tool with no annotations and no output schema, the description covers purpose and file side effects but stops short. It does not address overwrite semantics, secret handling, or the natural verification step (e2e_test_connection), leaving gaps an agent would want before committing credentials to disk.
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 100%, so the baseline is 3. The description only restates the optionality of location and project_id with a mild directive to omit them, which closely mirrors the per-property schema text ('leave empty to search across all locations') and adds little new semantic content.
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 names a specific verb and resource ('Configure E2E Networks API credentials') and even states the exact persistence targets (~/.e2e/credentials and ~/.e2e/config). It is trivially distinguishable from every sibling, which are all list/get/action tools on cloud 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?
It implies the setup/update context ('set up or update API credentials directly') but never states when to invoke it relative to alternatives or prerequisites. There is no mention of running it before other e2e_* calls, nor a pointer to e2e_test_connection to verify the configured credentials, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_create_bucketC
Create an EOS (E2E Object Storage) bucket.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. | |
| bucket_name | Yes | Unique name for the bucket. | |
| is_lock_enabled | No | Enable Object Lock. | |
| is_encryption_enabled | No | Enable Server-Side Encryption. | |
| is_versioning_enabled | No | Enable Bucket Versioning. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the mutation itself. It does not state permission requirements, whether bucket names must be globally unique, whether creation is idempotent, or that flags like Object Lock and Versioning are effectively irreversible once set at creation time.
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?
A single short sentence with zero waste and the core action front-loaded. It is efficient, though arguably too terse for a creation tool with six configuration options.
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 six-parameter resource-creation tool with no annotations and no output schema, the description is thin. It omits the uniqueness constraint on bucket_name, the required project scope, and the irreversible nature of the creation-time options, leaving the agent under-equipped to call 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?
Schema description coverage is 100%, so all six parameters are already documented in the schema and the baseline of 3 applies. The description adds no parameter-level meaning, such as how location interacts with project_id or the consequences of the lock/encryption/versioning flags.
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?
States a specific verb (Create) and resource (bucket), and expands the EOS acronym to 'E2E Object Storage', which is genuinely useful since the name uses an unexplained abbreviation. It does not explicitly distinguish itself from e2e_delete_bucket or e2e_list_buckets, but the verb makes the distinction obvious.
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, no prerequisites (project_id, credentials, quota), and no note on what to do if the bucket already exists. The agent must infer everything from the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_create_databaseC
Provision a managed database cluster (MySQL, PostgreSQL, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the database cluster. | |
| vpcs | No | VPC IDs to associate with the cluster. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. | |
| software_id | Yes | Database engine software ID (e.g. MySQL, PostgreSQL). | |
| template_id | Yes | Hardware sizing plan template ID. | |
| public_ip_required | No | Whether to allocate a public IP address for the database. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It implies a mutating provisioning operation but says nothing about permissions required, whether provisioning is synchronous or long-running, cost implications, failure/reversibility behavior, or the shape of the response. For a 7-parameter create tool with zero annotation coverage this is a substantial gap.
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?
A single, front-loaded sentence with no filler or redundancy. It is efficient, though its brevity is partly a symptom of under-specification rather than disciplined compression.
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 tool has 7 parameters, no output schema, and no annotations, yet the description never explains how to obtain the required software_id/template_id, what the cluster creation lifecycle looks like, or what is returned. For a creation tool of this complexity, the description is inadequate.
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 100%, so every parameter is already documented in the schema, establishing a baseline of 3. The description's mention of 'MySQL, PostgreSQL' essentially restates what software_id's schema description already provides, adding no new meaning.
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 pairs a specific verb ('Provision') with a clear resource ('managed database cluster') and even names example engines. It's easily distinguished from read-side siblings like e2e_list_databases and e2e_get_database, though it does not explicitly contrast itself with them.
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 versus e2e_database_action or other create tools, nor any stated prerequisites (e.g., that software_id and template_id must be sourced from e2e_list_database_plans or the software listing). The agent is left to infer the entire workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_create_nodeC
Launch and provision a new compute node or GPU instance on E2E Cloud.
| Name | Required | Description | Default |
|---|---|---|---|
| disk | No | Additional root disk size in GB. | |
| name | Yes | Host name for the compute node (alphanumeric and hyphens). | |
| plan | Yes | Compute/GPU plan identifier (e.g. "C3.8GB", "C3-4vCPU-8RAM-100DISK", "GPU-H100.80GB"). Use e2e_list_plans to view available plans. | |
| image | Yes | Operating system template or saved image (e.g. "Ubuntu-22.04", "Ubuntu-24.04", "CentOS-7"). Use e2e_list_os_images to view options. | |
| region | No | Target region code (e.g. "ncr", "del"). Defaults to "ncr". | ncr |
| vpc_id | No | Optional VPC Network ID to attach. | |
| location | No | Location/region code (e.g. "DEL-1"). | |
| ssh_keys | No | List of SSH public key IDs or names to inject for root login. | |
| subnet_id | No | Optional Subnet ID within the VPC. | |
| project_id | No | Project ID. | |
| is_committed | No | Whether to provision as committed pricing rather than hourly on-demand. | |
| default_public_ip | No | Whether to allocate a public IP address (default true). | |
| security_group_id | No | Optional Security Group ID to attach. | |
| number_of_instances | No | Number of instances to create (default 1). |
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, yet it says nothing about the behavior an agent needs: whether provisioning is asynchronous, how long it takes, cost/billing implications (hourly vs the is_committed option), or what happens on partial failure with number_of_instances > 1. A single 'launch and provision' clause is far too thin for a 14-parameter 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?
One front-loaded sentence with zero filler; the verb and resource come first. It is efficiently sized, but the minimalism is also under-specification rather than deliberate brevity.
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 resource-provisioning tool with 14 parameters, no annotations, and no output schema, the description is inadequate: it omits provisioning semantics, cost model, required prior lookups (plans, OS images), and any hint of the returned node identity. Nothing beyond the tool's name is clarified.
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 100%, so every one of the 14 parameters is already documented in the schema, and the description adds no additional parameter meaning — the only signal is 'compute node or GPU instance', which loosely maps to the plan parameter. Baseline 3 is correct when the schema does all the work.
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 names a specific verb ('launch and provision') and resource ('a new compute node or GPU instance'), which cleanly separates it from sibling readers (e2e_list_nodes, e2e_get_node) and other create_* tools for volumes, buckets and databases. It does not explicitly contrast itself with any named sibling, so it falls short of 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?
There is no when-to-use guidance at all — no prerequisites, no mention of how it differs from e2e_node_action or e2e_delete_node, and no note that the plan/image must be resolved first (that hint lives only in the schema's parameter descriptions). The reader is left to infer everything about invocation context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_create_volumeC
Create an independent block storage volume on E2E Cloud.
| Name | Required | Description | Default |
|---|---|---|---|
| iops | No | Provisioned IOPS (e.g. 3000, 5000). | |
| name | Yes | Volume name identifier. | |
| size | Yes | Volume size in GB (e.g. 50, 100, 250, 500, 1000). | |
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no statement about idempotency, failure behavior, whether the volume starts unattached, or whether the operation is billable. The word 'independent' is the only hint about lifecycle, and it is unexplained.
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?
A single well-formed sentence with no filler and the verb front-loaded. There is nothing to trim, though there is also no structure beyond that one sentence.
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 creation tool with a fully documented schema and no output schema, the basics are covered, but with zero annotations the description should say more about what happens after creation and how the volume relates to attach/detach siblings. It is minimally viable rather than 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 100%, with each of the five parameters (name, size, iops, location, project_id) documented including examples and a default. The description adds no parameter meaning beyond that, so the baseline 3 applies.
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 pairs a specific verb ('Create') with a precise resource ('independent block storage volume on E2E Cloud'), so an agent immediately knows what the tool produces. It does not explicitly differentiate itself from siblings such as e2e_create_bucket or e2e_create_database, but the resource noun makes the distinction obvious anyway.
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, nor any prerequisites such as required project context or quota limits. It also fails to mention the natural follow-up step (e2e_attach_volume) for a volume that is deliberately created detached.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_create_vpcC
Create a new Virtual Private Cloud (VPC) network.
| Name | Required | Description | Default |
|---|---|---|---|
| ipv4 | No | Custom IPv4 CIDR block (e.g. "10.10.0.0/23"). Omit if is_e2e_vpc is true. | |
| location | No | Location/region code. | |
| vpc_name | Yes | Name of the VPC network. | |
| is_e2e_vpc | No | If true, CIDR will be assigned automatically by E2E. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden but discloses almost nothing: it does not state permission requirements, whether creation is idempotent, what happens on name collision, or how CIDR assignment interacts with is_e2e_vpc. For a mutating create operation this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste and no redundancy. It is efficient, though the terseness edges toward under-specification rather than optimal economy.
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 fully documented schema covers parameter-level needs, so an agent can construct a valid call. But for a mutating tool with no annotations and no output schema, the description leaves behavioral context (permissions, outcomes, prerequisites) unaddressed.
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 100%, so the schema already documents all five parameters (ipv4, location, vpc_name, is_e2e_vpc, project_id) with examples and defaults. The description adds no parameter meaning beyond that, so the baseline 3 applies.
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?
States a specific verb (Create) and resource (Virtual Private Cloud network), which clearly distinguishes it from siblings like e2e_list_vpcs and e2e_delete_vpc. However, it offers no explicit differentiation text against those siblings, so the reader must infer from the name alone.
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 gives no when-to-use guidance, no prerequisites, and never references alternatives such as e2e_list_vpcs or e2e_delete_vpc. An agent gets no help deciding whether this is the right tool or what conditions must hold before calling it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_database_actionC
Execute a control action (start, stop, restart) on a managed database cluster.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform. | |
| location | No | Location/region code. | |
| cluster_id | Yes | ID of the database cluster. | |
| project_id | No | Project ID. |
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 says nothing about permissions required, whether stop is destructive or data-preserving, whether restart causes downtime, or whether the action is synchronous or asynchronous. For a mutation tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the verb, resource, and valid actions with zero filler. It is appropriately sized for the operation, though it could have spent a clause on behavioral caveats instead of being quite so terse.
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 mutation tool with no annotations and no output schema, the description leaves real gaps: permissions, downtime/reversibility of stop and restart, and the roles of the optional location and project_id parameters are all unaddressed. It is minimally adequate but not complete for a lifecycle-changing 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?
Schema description coverage is 100%, so all four parameters are already documented, and the enum for 'action' is fully specified in the schema. The description's listing of start/stop/restart simply repeats the enum, adding no syntax or constraint detail beyond the schema, so baseline 3 applies.
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?
States a specific verb ('Execute a control action') plus the resource ('managed database cluster') and enumerates the three supported actions. This distinguishes it from sibling action tools like e2e_node_action and e2e_tir_notebook_action by resource type, though it never names them explicitly.
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 explicit when-to-use guidance, no prerequisites, and no mention of alternatives or when not to use it. The agent must infer that this is for lifecycle control of database clusters rather than any of the many other action tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_delete_bucketA
Delete an EOS object storage bucket. The bucket must be empty before deletion.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. | |
| bucket_name | Yes | Name of the bucket to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It usefully reveals the destructive precondition that the bucket must be empty, but says nothing about irreversibility of the deletion, required permissions, or what happens when the precondition is violated.
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?
Two short sentences, front-loaded with the action and followed by the constraint. Every clause carries information, and there is no filler or 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?
For a simple 3-parameter tool with full schema coverage and no output schema, the description covers purpose and the key precondition. It is nearly complete, lacking only notes on irreversibility and error behavior that a destructive tool would ideally include.
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 100%, so bucket_name, location, and project_id are all documented in the schema. The description adds no additional parameter meaning (e.g. why location/project_id matter for a delete), so the baseline 3 applies.
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?
States a specific verb (Delete) and resource (EOS object storage bucket), making it immediately distinguishable from sibling e2e_create_bucket and e2e_list_buckets. An agent can identify the operation without opening the schema.
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?
It gives a precondition (the bucket must be empty before deletion), which is real usage context, but it offers no alternatives, no when-not-to-use guidance, and no mention of how to empty a bucket first. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_delete_nodeA
Terminate and delete a compute node from E2E Cloud. Warning: This permanently removes the node and its local disk.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | ID of the node to delete. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It does disclose the most important trait — the operation is irreversible and takes the local disk with it — which is valuable. It still omits permission requirements, whether attached volumes or data survive, and idempotency/repeat-call behavior for an irreversible mutation.
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?
Two sentences, no filler, with the destructive consequence placed immediately after the action statement. Every clause earns its place.
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 irreversible delete with no annotations and no output schema, the description covers the safety-critical warning but not the operational context an agent needs: preconditions, interaction with attached volumes/security groups, and how to recover or verify success. Adequate but with clear 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 100%, so node_id, location, and project_id are already documented in the schema. The description adds no format, default, or disambiguation detail (e.g., when location/project_id are needed versus optional), so baseline 3 applies.
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?
States a specific verb pair and resource ('Terminate and delete a compute node from E2E Cloud'), which clearly separates it from e2e_create_node and e2e_list_nodes. It does not explicitly distinguish itself from the ambiguous e2e_node_action, which could plausibly also destroy a node, so it stops short of 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?
Usage is implied by the destructive warning ('permanently removes the node'), so an agent understands this is the terminal operation on a node. However, there is no explicit when-to-use/when-not guidance, no prerequisite ordering (e.g., stop node or detach volumes first), and no named alternative for lifecycle operations like stop/reboot.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_delete_volumeA
Permanently delete an unattached block storage volume.
| Name | Required | Description | Default |
|---|---|---|---|
| block_id | Yes | Block volume ID. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. |
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 usefully discloses that deletion is permanent/irreversible and only valid for unattached volumes, but says nothing about required permissions, the failure behavior for attached volumes, or the response shape.
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?
A single tight sentence with the destructive nature and precondition front-loaded. No filler or redundant restatement of the name.
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 mutation tool with no annotations and no output schema, the description covers the essential action and its precondition but omits permissions, error conditions, and confirmation of irreversibility against attached volumes. Adequate but with clear 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 100%, so block_id, location, and project_id are already documented in the schema. The description adds no syntax, format, or interaction detail for these parameters, so the baseline 3 applies.
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?
States a specific verb (delete), a precise resource (block storage volume), a permanence qualifier, and a precondition (unattached). This naturally distinguishes it from e2e_detach_volume (which keeps the volume) and e2e_create_volume, so an agent can select correctly without opening schemas.
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 word 'unattached' implicitly conveys a precondition and hints that detachment (e2e_detach_volume) must precede deletion, but the description never states when to use this tool versus alternatives or what happens if the volume is attached. Usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_delete_vpcC
Delete a VPC network by its network ID.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. | |
| vpc_network_id | Yes | VPC Network ID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It does not state whether deletion is irreversible, what permissions are required, what happens to dependent resources, or what the operation returns.
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?
One short sentence with no wasted words, front-loading the action and the identifying parameter. Appropriately sized for a simple delete operation.
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?
A destructive tool with no annotations and no output schema needs more context than this. Missing are irreversibility, required permissions, dependency handling, and any indication of the result, leaving the description inadequate for safe 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?
With 100% schema description coverage, the schema already documents all three parameters. The description only restates that deletion targets the network ID, adding no format, scope, or dependency 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?
States a specific verb (Delete) and resource (VPC network) plus the identifying parameter. It is clearly distinct from siblings like e2e_list_vpcs and e2e_create_vpc, but does not explicitly contrast itself with them.
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, no prerequisites, and no mention of when not to use it. The destructive nature is implied only by the verb 'Delete'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_detach_security_groupC
Detach a security group from a compute node.
| Name | Required | Description | Default |
|---|---|---|---|
| vm_id | Yes | Compute node VM ID. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. | |
| security_group_id | Yes | Security group ID to detach. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It only says 'Detach', without disclosing permission requirements, reversibility, side effects (e.g., whether the last security group can be removed), or what happens on failure. This is a significant gap 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 definition is a single, front-loaded sentence with no filler or repetition. It states the action and its object directly, making it easy to parse quickly.
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 mutation tool with no annotations and no output schema, the description is too thin. It omits prerequisites, side effects, error behavior, and any indication of the operation's scope or safety profile, leaving the agent without enough context to invoke it confidently.
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 100%, so the schema already documents vm_id, security_group_id, location, and project_id. The description adds no parameter syntax, format, or default information beyond the schema baseline, which is appropriate for a 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 states a specific verb (Detach) and resource (security group) against a compute node, so the operation is immediately identifiable. It does not explicitly differentiate itself from the sibling e2e_attach_security_group or e2e_detach_volume, so it stops short of 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 gives no when-to-use guidance, prerequisites, or alternatives. It does not mention the attach counterpart or conditions under which detaching is appropriate, leaving the agent to infer everything beyond the bare purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_detach_volumeC
Detach a block storage volume from a compute node.
| Name | Required | Description | Default |
|---|---|---|---|
| vm_id | Yes | Node / VM ID the volume is currently attached to. | |
| block_id | Yes | Block volume ID. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: not whether the data on the volume survives the detach, whether the operation is idempotent, whether the node must be in a particular state, or what permissions are required. For a mutation tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the action front-loaded and zero filler. Nothing is redundant or padded.
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 destructive-adjacent mutation with no annotations and no output schema, the description omits everything an agent would need to act safely: side effects on the attached node, data retention, failure modes, and whether cleanup or retries are needed. The schema covers inputs, but the operation's behavior is unexplained.
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 100%, so all four parameters (block_id, vm_id, location, project_id) are already documented in the schema, establishing the baseline of 3. The description adds no format, default, or scoping detail beyond what the schema already states.
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?
States a specific verb and resource combination ('Detach a block storage volume') plus the counterpart it acts on ('from a compute node'). This cleanly separates it from e2e_attach_volume and e2e_delete_volume, though it never names a sibling explicitly.
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 detach versus when to delete or re-attach a volume, no prerequisites (e.g., volume must be unmounted, node must be running), and no warnings about consequences. The agent must infer all usage context from the verb alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_get_billing_summaryC
Get estimated monthly usage, prepaid credits balance, or billing summary.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code (optional: if omitted, checks across all regions). | |
| project_id | No | Project ID (optional: if omitted, checks across default/all projects). |
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. 'Get' implies read-only, but the description does not state that explicitly, nor does it mention permission/credential requirements or what determines which of the three outputs is produced.
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?
A single sentence with no wasted words, and the resource is front-loaded. The 'or' construction creates ambiguity rather than adding clarity, slightly limiting its efficiency.
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 two-optional-param read tool with a fully documented schema and no output schema, the description covers the basics. But with no annotations and no output schema, it should at least state that it is a read-only operation and what governs the choice among the three reported values.
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 100%, so both optional parameters (location, project_id) are fully documented in the schema. The description adds no parameter semantics beyond the schema, so baseline 3 applies.
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?
States a specific verb ('Get') and the billing resources it covers (usage, credits balance, summary), so the agent knows the domain. However, the 'or' phrasing leaves it unclear what actually determines which of the three is returned, so it is clear on purpose but not precise about scope.
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?
Provides no when-to-use context, no prerequisites, and no alternatives. Siblings are all resource-management tools, so an agent has no guidance on when billing lookup applies versus other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_get_databaseB
Get detailed information, topology, connection endpoints, and health of a managed database cluster.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| cluster_id | Yes | ID of the database cluster. | |
| project_id | No | Project ID. |
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 does not state whether the operation is read-only (though 'Get' implies it), whether it requires specific permissions, how large the response might be, or if it affects any state. For a tool returning topology and health, more context about the response scope would be valuable.
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?
A single, well-structured sentence that front-loads the main action and lists the key returned information. 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?
Given no annotations and no output schema, the description is adequate to understand the basic purpose, but it lacks behavioral details (e.g., response shape, error conditions) and usage guidance relative to siblings. It covers what the tool returns at a high level but not how or when to use it.
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 100%, so the input schema already documents all three parameters (location, cluster_id, project_id). The description adds no parameter-level information, which is acceptable given the schema's completeness. Baseline 3 applies.
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 a clear verb ('Get') and resource ('managed database cluster') and enumerates what it returns: detailed information, topology, connection endpoints, and health. It distinguishes itself from e2e_list_databases (a list tool), but does not explicitly differentiate from other get_* siblings such as e2e_get_node or e2e_get_k8s_cluster.
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 about when to use this tool versus alternatives like e2e_list_databases or e2e_database_action. It implies a retrieval use case via 'Get detailed information', but no conditions, prerequisites, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_get_k8s_clusterC
Get detailed information about a managed Kubernetes cluster by its service ID.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. | |
| service_id | Yes | Kubernetes service ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read, but there is no mention of permission requirements, behavior on unknown/missing service IDs, or whether location/project_id narrow the lookup - all left unstated for a tool with zero annotation coverage.
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?
A single front-loaded sentence with no wasted words. Size is appropriate for the small parameter surface, though it is arguably too terse for a tool with no annotations.
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 3-parameter read with full schema coverage and no output schema, the description is minimally adequate. It omits any behavioral or usage context, leaving gaps that annotations would normally cover.
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 100%, so the schema already documents location, project_id, and service_id; the description only echoes service_id as the lookup key. Baseline 3 applies since the schema does the heavy lifting, though the description adds nothing about why location/project_id are optional companions.
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?
States a specific verb (Get) and resource (managed Kubernetes cluster) with the lookup key (service ID). It is clearly a single-item fetch, implicitly distinct from the sibling e2e_list_k8s_clusters, though that distinction is never made explicit.
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 when-to-use guidance, prerequisites, or named alternatives are given. The agent must infer that this is the detail-view counterpart to e2e_list_k8s_clusters rather than being told.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_get_nodeA
Get detailed information about a specific compute node by its ID (specs, status, public/private IPs, attached disks, security groups).
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | The ID or VM ID of the compute node to inspect. | |
| location | No | Location/region code (e.g. "DEL-1"). | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It helpfully discloses the shape of returned data (specs, status, IPs, disks, security groups), but omits auth/permission requirements, error or not-found behavior, and any rate or consistency notes for a same-name 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?
A single, front-loaded sentence that names the operation, the key input, and the returned payload with zero filler. Every clause earns its place.
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 single-resource get with no output schema and no annotations, listing the returned fields compensates well. Remaining gaps (error behavior, auth requirements, role of the optional location/project_id) are minor for a read tool of this scope.
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 100%, so the schema already documents node_id, location, and project_id. The description only reinforces 'by its ID' and adds no format, valid-ID syntax, or conditional handling for location/project_id 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?
States a specific verb (Get) and resource (compute node) scoped to a single node by ID, and enumerates the returned fields (specs, status, IPs, disks, security groups). This is clearly distinct from list-style siblings like e2e_list_nodes, though no sibling is named explicitly.
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 phrase 'by its ID' implies the retrieval use case versus a list operation, but there is no explicit when-to-use guidance, no mention of alternatives (e2e_list_nodes, e2e_get_node_health), and no prerequisites or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_get_node_healthB
Retrieve server health information and metrics (CPU utilization, memory usage, disk space) for a node.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | ID of the compute node. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It implies a read-only retrieval and lists the metric categories returned, which is genuine value. However, it does not disclose return shape, whether a health status/threshold is included, latency, or any auth requirements, leaving real gaps.
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?
A single front-loaded sentence with the verb first and the key metric examples parenthetically scoped. No filler, though it is minimal enough that it never capitalizes on the brevity to add routing or behavioral detail.
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 and no annotations mean the description should do more. It adequately signals a read operation and the returned metric families, but omits usage context and return structure, leaving it only minimally sufficient for a 3-parameter getter.
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 100%, so node_id, location, and project_id are already documented in the schema. The phrase 'for a node' reinforces that node_id targets the entity, but the description adds no syntax, format, or interaction details beyond the schema, so the baseline 3 applies.
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?
States a specific verb ('Retrieve') and resource ('server health information and metrics') and even enumerates the concrete metrics (CPU, memory, disk). This clearly differentiates it from e2e_get_node in spirit, but it never explicitly names or contrasts with that sibling, so it stops short of 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?
There is no when-to-use guidance, no preconditions, and no mention of alternatives such as e2e_get_node or e2e_list_nodes. The agent must infer when health metrics are appropriate rather than node metadata.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_bucketsB
List all EOS (E2E Object Storage) S3-compatible buckets in your account.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'List all' implies a read-only, non-destructive operation and 'in your account' hints at account scoping, but there is no mention of pagination, permissions, rate limits, or result format for a list endpoint.
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?
A single, front-loaded sentence with no filler. Every word earns its place and the purpose is immediately clear.
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 two-parameter list tool with no output schema, the description covers the core purpose but omits any behavioral context (pagination, filtering semantics, return shape). Without annotations or an output schema, this leaves gaps an agent might need.
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 100%, so both parameters (location, project_id) are already documented in the schema. The description adds no additional parameter meaning such as default scoping or format hints, making the baseline 3 appropriate.
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?
States a specific verb ('List') and resource ('EOS (E2E Object Storage) S3-compatible buckets'), and even expands the EOS acronym. It does not explicitly distinguish itself from sibling list tools or name create/delete bucket alternatives, but the resource is 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?
No when-to-use guidance, prerequisites, or alternatives are given. An agent must infer from the name alone that this is the read path versus e2e_create_bucket or e2e_delete_bucket.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_database_plansB
List available DBaaS database sizing plans, engine versions, and pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden; it does disclose that the result set includes sizing plans, engine versions, and pricing, and 'List' implies a safe read. It says nothing about pagination, auth requirements, or whether results are region-scoped.
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?
A single front-loaded sentence with zero filler; the resource scope and returned fields come first and nothing is wasted.
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 annotations and no output schema, the description should carry more weight, yet it does not explain result structure or how the two optional filters affect output. It is adequate for a simple read-only catalog list but leaves 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 coverage is 100% (location and project_id are both documented in the schema), so baseline is 3. The description adds no meaning about how location or project_id narrow the listing, adding nothing 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?
States a specific verb ('List') and a well-scoped resource (DBaaS database sizing plans, engine versions, pricing), which is clearer than a generic 'plans' listing. However, it does not differentiate itself from the sibling e2e_list_plans, so an agent could confuse the two catalog-listing 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?
There is no when-to-use guidance, no prerequisites, and no named alternative. The agent must infer that this is the pre-creation catalog lookup for database sizing, which is implied but never stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_databasesA
List all managed database clusters (DBaaS) in your project (MySQL, PostgreSQL, MariaDB, Kafka, Valkey, OpenSearch).
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the resource scope ('in your project') and the full set of supported engines, but says nothing about pagination, result ordering, authentication/permission needs, or whether project_id/location are required or defaulted.
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?
A single front-loaded sentence with no filler; the resource and scope come first, the engine enumeration follows as useful precision. Nothing needs to be trimmed.
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 two-optional-parameter list tool with no output schema and no annotations, the description is adequate but thin. It omits what a returned cluster record contains and how the optional location/project_id filters interact, leaving the agent to infer behavior from the schema alone.
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 100%, so both parameters (location, project_id) are already documented in the schema. The description adds no parameter-level meaning beyond the schema — it never explains how location or project_id scope the listing or what happens when they are omitted (both are optional).
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?
Specific verb+resource+scope: 'List all managed database clusters (DBaaS) in your project,' with an explicit engine enumeration (MySQL, PostgreSQL, MariaDB, Kafka, Valkey, OpenSearch). It is clearly distinct from get/create/action siblings by the word 'List', but it never names an alternative tool, so the differentiation is implicit rather than stated.
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 only implied by the verb 'List' — an agent can infer this is the bulk-enumeration tool. There is no statement of when to prefer it over e2e_list_database_plans or e2e_get_database, no prerequisites, and no mention of pagination or filtering conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_k8s_clustersB
List all managed Kubernetes clusters in your E2E Cloud project.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses very little. 'List all' weakly implies a read-only, non-destructive call, but there is no mention of pagination, result limits, auth/credential requirements, or whether an empty result is possible.
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?
A single front-loaded sentence with the verb, scope, and resource in the first few words. No filler, no redundancy; every word earns its place.
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 two-optional-parameter list tool with a fully described schema and no output schema, the description is minimally viable. However, with no annotations and no output schema, it leaves gaps around pagination, return contents, and credential requirements that the structured fields do not cover.
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?
Both parameters (location, project_id) are fully documented in the schema at 100% coverage, so the baseline is 3. The description adds nothing about how location or project_id affect the listing (e.g. filtering or defaulting), so it neither compensates nor detracts.
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 a specific verb and resource ('List all managed Kubernetes clusters') and scopes it to the E2E Cloud project, so an agent knows this is a bulk retrieval, not a single-cluster lookup. It stops short of naming siblings like e2e_get_k8s_cluster or e2e_list_k8s_node_pools, so differentiation is left to inference from the names.
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 explicit when-to-use statement, no prerequisites, and no routing to alternatives. The 'List all ... in your project' phrasing implies a read/list context, but the agent gets no guidance on when to prefer this over e2e_get_k8s_cluster or e2e_list_k8s_node_pools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_k8s_node_poolsC
List all node pools attached to a managed Kubernetes cluster.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. | |
| service_id | Yes | Kubernetes service ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'List' implies a read-only operation, but the description omits pagination behavior, permissions required, whether results are scoped by project/location, or any side-effect profile.
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?
A single front-loaded sentence with no filler. It is efficient, though it is arguably too sparse to be considered optimally structured for an agent needing more operational context.
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 tool is a simple read operation and parameter coverage is complete, but with no output schema and no annotations the description does not explain return shape, pagination, or scoping behavior. It is minimally adequate for a low-complexity list tool but leaves notable 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 100%, so the schema already documents all three parameters. The description adds no syntax, format, or constraint details beyond what the schema provides, making the baseline of 3 appropriate.
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 a specific verb ('List') and resource ('node pools attached to a managed Kubernetes cluster'), which is clear enough to distinguish it from sibling tools like e2e_list_nodes or e2e_get_k8s_cluster. However, it does not explicitly name or contrast with any alternative, so it misses the sibling-differentiation bar for 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?
There is no when-to-use guidance, no mention of prerequisites such as needing a valid service_id, and no reference to alternative tools. The listing intent is implied only by the verb 'List'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_load_balancersC
List all managed Load Balancers (Application Load Balancers and Network Load Balancers) in your project.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: 'list' implies a read, but there is no mention of pagination, result limits, auth/permission requirements, or whether the operation is read-only. For a tool with zero annotation coverage this is a notable gap.
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?
A single front-loaded sentence with no filler; the parenthetical earns its place by clarifying which LB types are returned. It stops just short of a 5 because it omits any scoping or filter qualifiers that would help an agent act.
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 two-optional-parameter list tool with no output schema and no annotations, the description is minimally adequate. It does not explain what happens when the optional location/project_id are omitted (all projects? default region?), which is the main ambiguity an agent would face.
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?
Both parameters have 100% schema description coverage, so the schema already defines 'location' and 'project_id'. The description adds no format, default, or interaction detail beyond what the schema supplies, making the baseline 3 appropriate.
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?
Specific verb (list) plus resource (managed Load Balancers), and the parenthetical names the concrete subtypes (Application/Network) so an agent knows what comes back. It does not explicitly distinguish itself from siblings, but no sibling tool covers load balancers, so the risk of misrouting is low.
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 when-to-use, when-not-to-use, or alternative guidance is given. The phrase 'in your project' weakly implies scoping, but nothing tells the agent when this tool is the right choice versus e.g. e2e_list_vpcs or e2e_raw_request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_nodesB
List all compute nodes (virtual machines and GPU instances) in your E2E Cloud project, including status, IP addresses, plans, and regions.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code (e.g. "DEL-1", "NCR-1"). Defaults to configured location. | |
| project_id | No | Project ID to filter by. Defaults to configured default project. |
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 does not mention whether the operation is read-only (though 'List' implies it), does not discuss permissions, rate limits, pagination, or the shape of the response. It also does not clarify that both parameters are optional and what happens if they are omitted (defaults to configured project/location). This is a significant gap for a tool with 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?
A single sentence listing what is returned, front-loaded with the main verb and resource. It is efficient and earns its place, though it could be slightly more concise by omitting the parenthetical explanation of 'compute nodes' if that detail is elsewhere. Still, the structure is clear and waste-free.
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 list tool with no annotations, no output schema, and two optional parameters, the description is adequate but not thorough. It tells the agent what will be listed but omits behavioral details like pagination, default scope behavior, and read-only nature. An agent would need to infer these from context or trial, leaving notable 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 100%, so the schema already documents both parameters (location and project_id) fully, including defaults and examples. The description adds no additional parameter semantics beyond the schema, which is acceptable given the high coverage. Baseline 3 is appropriate.
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?
States a specific verb ('List') and resource ('compute nodes (virtual machines and GPU instances)') within the E2E Cloud project, and even names the data fields returned (status, IP addresses, plans, regions). It is clearly distinguishable from siblings like e2e_get_node and e2e_create_node.
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 a read/list operation and the scope is the whole project, which helps differentiate it from e2e_get_node. However, it does not explicitly state when to use this versus e2e_get_node (single node retrieval) or mention that it lists only nodes, not other resources. The guidance is present but implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_os_imagesB
List available OS categories, distributions (Ubuntu, Debian, CentOS, AlmaLinux, Windows), and version templates.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code (defaults to Delhi if not specified). | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'List' implies a safe read, but it says nothing about scope (global vs project-filtered), pagination, or whether results depend on the location/project parameters.
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?
A single front-loaded sentence with zero filler; every element (categories, distributions, templates) earns its place by describing what is returned.
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 two-optional-parameter list tool with a fully documented schema and no output schema, the description adequately conveys the returned content. Only minor gaps remain around filtering behavior and result scope.
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 100%: both optional parameters (location with its Delhi default, project_id) are fully documented in the schema. The description adds no parameter-level detail, so the baseline 3 is appropriate.
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?
States a specific verb ('List') and a concrete resource (OS categories, distributions, version templates), even enumerating the distributions. It is distinguishable from siblings like e2e_list_plans or e2e_list_projects, though it does not explicitly contrast itself with them.
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 indication of when to call this versus alternatives, nor any prerequisite context (e.g., whether it is needed before creating a node to pick an image). The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_plansB
List available compute plans, GPU instances, CPU/RAM configurations, and pricing options.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category (e.g. "Linux", "GPU", "Windows"). | |
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: it never states the call is read-only, whether results are paginated or complete, whether pricing is region-dependent, or what auth/credentials are required (despite e2e_configure_credentials existing as a sibling). It only adds that pricing data is included.
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?
A single front-loaded sentence with the verb first and the resource scope immediately after; every clause (GPU instances, CPU/RAM, pricing) adds concrete information about what is returned. No filler.
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 annotations and no output schema, the description should ideally cover return shape and scoping behavior. It adequately conveys what the tool lists and needs no required parameters, but leaves the agent guessing about pagination, regional pricing differences, and the relationship to sibling plan/catalog tools.
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 100% and all three parameters (category, location, project_id) are documented in the schema, so the baseline is 3. The description adds no filter semantics beyond the schema — it never mentions that category, location, or project_id narrow the listing.
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?
States a specific verb ("List") and resource ("compute plans"), then enumerates what is covered: GPU instances, CPU/RAM configurations, pricing. The word "compute" implicitly separates it from the sibling e2e_list_database_plans, but the description never names or contrasts that sibling explicitly, so differentiation is only partial.
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 when-to-use guidance, no prerequisites, and no mention of the closely related e2e_list_database_plans or e2e_list_nodes alternatives. The agent must infer from the name alone that this is the plan-catalog lookup versus a resource inventory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_projectsC
List all available IAM projects and access control scopes in your E2E Cloud account.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code (optional: if omitted, queries across all regions). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'List' implies a read-only operation, but there is no disclosure of pagination, result caps, permission requirements, or whether the caller needs project membership to see anything. Only the basic read semantics are inferable.
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?
A single front-loaded sentence with no filler. It earns its place, though the compound 'projects and access control scopes' phrasing slightly muddies what is actually returned.
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 annotations and no output schema, the description should do more: it does not describe the shape of the response, whether scopes are nested under projects, or how results behave when location is omitted. For a simple one-optional-param list tool this is minimally adequate rather than 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?
There is a single optional parameter (location) and schema description coverage is 100%, so the schema already explains the region-scoping behavior fully. The description adds nothing about the parameter, but the baseline of 3 is appropriate when the schema does the work.
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?
States a specific verb (List) and a specific resource (IAM projects and access control scopes) in the E2E Cloud account. It is unambiguous against siblings, which all target other resources (nodes, buckets, databases). Slight ambiguity in whether projects and scopes are two separate result sets, but the purpose is clear.
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 when-to-use guidance, no prerequisites, and no mention of alternatives. It is implied that this is the entry-point listing for projects, but nothing tells an agent when this should be preferred over, say, e2e_raw_request or how it relates to account setup tools like e2e_configure_credentials.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_reserved_ipsC
List all reserved (static public) IP addresses in your project.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies project scoping ('in your project') but says nothing about pagination, result limits, whether optional project_id/location actually filter the output, or permissions required. For a list tool with zero annotation coverage this is thin.
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?
A single front-loaded sentence with no filler, exactly the right size. It is efficient but very sparse, so it earns a 4 rather than a 5.
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 read-only list tool with 100% schema coverage and no output schema, this is minimally adequate. It omits the relationship to the reserved-IP mutation sibling and any pagination/return expectations, which an agent would want.
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 100%, so both parameters are already documented in the schema; baseline is 3. The description adds only that results are project-scoped, without clarifying how the optional location parameter narrows results.
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+resource ('List all reserved (static public) IP addresses') with a helpful parenthetical disambiguating what 'reserved' means. It does not differentiate itself from sibling e2e_action_reserved_ip, which operates on the same resource class, so it falls short of 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?
There is no guidance on when to use this versus e2e_action_reserved_ip or e2e_raw_request, and no mention of prerequisites or scope of the listing. Usage is only implied by the verb 'List'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_security_groupsB
List security groups attached to or available for a specific compute node.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | List "attached" or "available" security groups. | attached |
| vm_id | Yes | Compute node VM ID. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. |
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. The word "List" implies a read-only operation, but the description says nothing about permissions required, pagination, result size, or whether unrelated security groups are ever returned.
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?
A single well-formed sentence with no filler, and the resource and scope are front-loaded. It is hard to fault, though it is also close to the minimum needed.
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 listing tool with no output schema and full schema coverage, the essentials are present, but with no annotations and no return-shape description an agent still cannot tell what a result entry looks like or whether results are paged.
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 100%, so all four parameters (vm_id, type, location, project_id) are already documented in the schema. The description only reiterates the vm_id scoping and the attached/available distinction, adding no format or syntax detail 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 states a specific verb (list) and resource (security groups) and scopes it to a compute node, which distinguishes it from siblings like e2e_attach_security_group and e2e_detach_security_group. It stops short of naming an alternative tool, so it does not fully earn 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?
"attached to or available for a specific compute node" implies when the tool is used and mirrors the schema's attached/available enum, but there is no explicit when-to-use/when-not guidance and no sibling alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_sfsC
List all SFS (Shared File System / Elastic File Storage) instances.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'List' implies a read-only operation but the description does not confirm this, nor does it describe pagination, filtering semantics (does location/project_id filter the list or scope it?), or the response shape.
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?
A single, front-loaded sentence that is efficient and wastes no words. It is appropriately sized, though a bit sparse for a tool with this many siblings.
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 annotations, output schema, and usage guidance, the description is too thin for a list tool with 2 optional parameters. It lacks any indication of what is returned, whether results are paginated, or how filtering works.
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 100%, so both parameters (location, project_id) are documented in the schema itself. The description adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.
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 a specific verb ('List') and resource ('SFS instances') and clarifies the acronym, which helps disambiguate from other list_ tools. It does not, however, distinguish itself from the many sibling list tools beyond the resource name, so it falls short of 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?
There is no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. With dozens of sibling list_ tools, an agent receives no routing help whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_volumesA
List all block storage volumes in your E2E Cloud project (size, IOPS, attached node status, filesystem).
| Name | Required | Description | Default |
|---|---|---|---|
| page_no | No | Page number for pagination. | |
| location | No | Location/region code. | |
| per_page | No | Number of items per page. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the returned fields, but says nothing about pagination behavior despite page_no/per_page params, nor about auth/prerequisites. It adds some context (what comes back) but leaves key operational traits undocumented.
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?
A single well-formed sentence with zero waste, front-loading the action and resource and appending the useful return-field list compactly.
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 list tool with full schema coverage and no output schema, the description adequately conveys what is returned. It could mention pagination defaults or scoping (location/project_id) to be fully complete, but the essentials for calling it correctly are present.
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 100%, so all four parameters (page_no, per_page, location, project_id) are already documented in the schema. The description adds no format or semantic detail beyond the schema, so the baseline 3 applies.
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?
States a specific verb (List) and resource (block storage volumes) with explicit scope ('in your E2E Cloud project'), and even enumerates returned attributes (size, IOPS, attached node status, filesystem). This clearly distinguishes it from write-oriented siblings like e2e_create_volume, e2e_attach_volume, and e2e_delete_volume.
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 'List all' phrasing implies a read/inventory use case, but there is no explicit when-to-use guidance, no mention of filtering, and no reference to alternatives. Usage is inferable but not stated, which is the definition of minimum-viable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_list_vpcsB
List all Virtual Private Clouds (VPCs) in your E2E Cloud project.
| Name | Required | Description | Default |
|---|---|---|---|
| page_no | No | Page number. | |
| location | No | Location/region code. | |
| per_page | No | Items per page. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It does not state that this is a read-only operation, whether results are paginated, what authentication is required, or what the return format looks like. For a list tool with zero annotation coverage, this is a significant transparency gap.
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 a single, front-loaded sentence with no wasted words. It immediately states the operation and resource, and is appropriately sized for a simple list tool.
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 tool is simple and the schema fully documents its parameters, but with no annotations and no output schema, the description could do more to disclose that this is a safe read-only list, how pagination behaves, and what the response contains. It is minimally adequate but leaves notable 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 100%, so the schema already documents all four parameters (page_no, location, per_page, project_id) with individual descriptions. The tool description adds no parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate.
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 a specific verb ('List') and resource ('Virtual Private Clouds (VPCs)') and scopes it to an E2E Cloud project. It is clear what the tool does, but it does not distinguish this list operation from sibling tools such as e2e_create_vpc or e2e_delete_vpc.
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 explicit guidance on when to use this tool versus alternatives. It does not mention when a list is appropriate, whether filtering is supported, or how it relates to sibling VPC operations. The usage is only implied by the name and verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_node_actionC
Execute a lifecycle action on a compute node: power_off, power_on, reboot, reinstall, save_images, rename, lock, or unlock.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name (required only when action is "rename" or "save_images"). | |
| action | Yes | Lifecycle action to perform. | |
| node_id | Yes | ID of the compute node. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not disclose that several actions are destructive or irreversible (power_off, reinstall, save_images), whether permissions are required, or what state changes each action causes. For a mutation tool this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the verb and resource and stays appropriately short. The action enumeration is somewhat redundant with the schema enum, but overall it is tight and well-structured.
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 a 5-parameter mutation tool with no annotations and no output schema, the description should disclose destructive/irreversible behavior, permission needs, and the full action set. It omits two enum values and all behavioral context, leaving an agent under-informed.
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 100%, so the baseline is 3. The description's action list partially duplicates the enum but is incomplete (8 of 10 values) and adds no detail on the non-enum parameters (node_id, name, location, project_id) or the conditional requirement for name.
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 names a specific verb and resource ('Execute a lifecycle action on a compute node') and enumerates the actions, which helps an agent understand what the tool does and separates it from create/delete/get siblings. However, the enumeration is incomplete relative to the schema's enum (it omits enable_recovery_mode and disable_recovery_mode), and there is no explicit contrast with siblings.
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 only what the tool does, with no when-to-use guidance, no prerequisites (e.g., which actions require the node to be in a given state), and no mention of alternatives such as e2e_create_node or e2e_delete_node. An agent gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_raw_requestA
Execute a direct, authenticated HTTP request against ANY E2E Networks Cloud REST API endpoint (MyAccount or TIR AI platform). Automatically handles authentication (API key + Bearer token), project scoping, and error normalization. Consult the E2E API docs (https://docs.e2enetworks.com/api/myaccount/ or https://docs.e2enetworks.com/api/tir/) for specific path structures.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON request body for POST/PUT/PATCH/DELETE requests. | |
| path | Yes | API path (e.g. "/api/v1/nodes/" for MyAccount or "/notebooks/" for TIR). | |
| method | Yes | HTTP method to use. | |
| service | No | Target service: "myaccount" (Core Cloud) or "tir" (AI/ML Platform). | myaccount |
| location | No | Override location/region code for this request. | |
| project_id | No | Override project ID for this request. | |
| queryParams | No | Optional query parameters to include in the request URL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real value: it discloses automatic API-key/Bearer authentication, project scoping, and error normalization. However, it omits the risk profile of an arbitrary-method tool — DELETE/PUT/PATCH are permitted and nothing warns about destructive or irreversible requests, rate limits, or 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?
Three sentences, front-loaded with the capability, then the handled concerns, then the doc reference. No filler and no repetition of schema 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?
For a raw HTTP escape hatch with no output schema and no annotations, it covers the essentials: scope of endpoints, the two services, auto-auth, scoping, and error handling, plus docs for paths. It falls short only in not steering the agent toward the typed siblings or flagging destructive methods.
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 100%, so the schema already documents all seven parameters with examples and enums, making the baseline 3. The description only adds the pointer to external docs for valid path structures, which is marginally useful but not parameter-level detail 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 states a specific verb (execute) and resource (authenticated HTTP request against any E2E Networks REST endpoint) and explicitly frames itself as the generic raw-access counterpart to the typed siblings like e2e_list_nodes and e2e_create_database. An agent can immediately tell this is the low-level escape hatch.
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?
It points to the two API doc URLs for path structures and names the two target services, which implies usage, but it never says when to prefer this over the typed sibling tools (e.g., use e2e_list_nodes rather than a raw GET) or when raw requests are inappropriate. No when-not guidance or exclusions are given for a tool that can hit any endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_test_connectionA
Verify that the MCP server can authenticate and connect to the E2E Networks Cloud REST API.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the core behavior (authentication and REST API connectivity verification), which is more than a bare name, but says nothing about what a failure looks like, whether it mutates state, or what the result reports.
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?
A single front-loaded sentence with no filler; every word contributes to the stated 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?
For a zero-parameter diagnostic tool with no output schema, the description should ideally indicate what a result conveys (success/failure signal, credential validity, error detail). It covers the purpose but leaves the agent guessing about the return semantics.
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 tool takes zero parameters, so the baseline is 4. There is no parameter surface for the description to compensate for.
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?
States a specific verb ('Verify') and resource ('authenticate and connect to the E2E Networks Cloud REST API'), which clearly separates it from the CRUD/list siblings. It does not explicitly distinguish itself from the nearest alternative, e2e_configure_credentials, but the purpose is 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?
Usage is implied by the nature of the tool (a connectivity/credential sanity check), but there is no explicit when-to-use guidance, no mention of sequencing relative to e2e_configure_credentials, and no stated alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_tir_create_notebookC
Provision an AI Lab instance with GPU acceleration (PyTorch, TensorFlow, vLLM, etc.) in E2E TIR.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Instance name identifier. | |
| location | No | Location/region code. | |
| sku_name | Yes | GPU SKU identifier (e.g. "H100-SXM5-80GB", "A100-SXM4-80GB", "L40S-48GB", "A40-48GB", "L4-24GB"). Use e2e_tir_list_gpu_skus to list options. | |
| disk_size | No | Storage disk size in GB. | |
| project_id | No | Project ID. | |
| image_version_id | No | Framework image template ID. | |
| is_jupyterlab_enabled | No | Enable JupyterLab environment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. "Provision" implies a write operation, but it says nothing about billing/cost implications, required permissions, whether provisioning is asynchronous or long-running, or what happens on a name collision — all critical for a GPU instance creation 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?
A single front-loaded sentence with no padding. The trailing "in E2E TIR" is mildly redundant given the tool name prefix, but nothing is wasted.
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 mutation tool with no annotations and no output schema, the description is too thin. It omits cost/permission implications, provisioning duration, and how to discover valid SKUs or image versions — information the agent needs to invoke it safely.
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 100%, so all seven parameters are already documented in the schema, including the GPU SKU examples and the pointer to e2e_tir_list_gpu_skus. The description adds only the framework context, so the baseline 3 applies.
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?
States a specific verb ("Provision") and resource ("AI Lab instance with GPU acceleration"), and names the supported frameworks. It is clearly distinguishable from the sibling read tools like e2e_tir_list_notebooks, though it never explicitly references an alternative.
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 when-to-use guidance, no prerequisites, and no mention of alternatives. The useful routing hint ("Use e2e_tir_list_gpu_skus to list options") lives only in the schema, not in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_tir_list_datasetsC
List all datasets stored in E2E TIR for AI/ML training and fine-tuning.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. |
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 of behavioral disclosure. It does not state that the operation is read-only, whether permissions are required, whether results are paginated, or what side effects exist. Only the word 'List' implicitly suggests a safe read, which 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 a single, front-loaded sentence with no wasted words. It efficiently states the action and scope, though it could be slightly more informative without losing 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?
For a simple list tool with two optional parameters and no output schema, the description adequately conveys the resource being listed. However, it does not describe the return format (e.g., what fields a dataset contains) or pagination behavior, leaving some gaps for an agent to infer.
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 100%, so both parameters (location, project_id) are already documented in the schema. The description adds no additional meaning, syntax, or filtering context beyond what the schema provides, making the baseline 3 appropriate.
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 a specific verb ('List'), resource ('datasets'), and domain context ('stored in E2E TIR for AI/ML training and fine-tuning'). It distinguishes the tool from generic list siblings like e2e_list_databases, but it does not explicitly differentiate from other TIR-specific list tools such as e2e_tir_list_notebooks or e2e_tir_list_model_endpoints.
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 offers no when-to-use guidance, prerequisites, or alternatives. It does not say when to prefer this tool over sibling list tools or what conditions would make it appropriate, leaving usage entirely implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_tir_list_gpu_skusA
List available NVIDIA GPU hardware SKUs on E2E TIR (H100, A100, L40S, A40, A30, L4, V100, T4) with pricing and specs.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Service type filter (e.g. "notebook", "endpoint", "cluster"). | notebook |
| location | No | Location/region code. | |
| project_id | No | Project ID. |
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 usefully discloses return content (pricing and specs) and 'List' implies a read-only operation, but it says nothing about permissions, pagination, or how filtering affects results.
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?
A single tight sentence that front-loads the action and resource and spends its remaining words on concrete examples. Nothing is wasted.
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 optional-parameter list tool with no output schema, the description is adequate but thin: it explains the return content yet leaves the semantics of the service/location/project filters and result shape to inference.
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 100% with three well-documented optional parameters (service, location, project_id), so the schema already does the heavy lifting. The description adds no parameter-level meaning beyond that, matching the baseline of 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?
States a specific verb (List) and resource (NVIDIA GPU hardware SKUs on E2E TIR) and even enumerates concrete examples (H100, A100, L40S...), so an agent immediately knows what domain it covers. No sibling tool overlaps with GPU SKU enumeration, so it is easy to distinguish.
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 never states when to call this tool versus alternatives, nor does it mention prerequisites or exclusions. Usage (e.g. before provisioning a notebook or training cluster) must be inferred entirely by the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_tir_list_model_endpointsB
List deployed model inference endpoints in E2E TIR (e.g., vLLM or HuggingFace endpoints).
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. |
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 implies a read-only listing operation but does not state whether authentication is required, whether results are paginated, what the return format looks like, or any rate limits or side effects. The single sentence is insufficient for an agent to understand the tool's behavior beyond its basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero wasted words. It immediately states the action and resource, making it easy to parse. For a simple list tool, this length is appropriate and 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?
Given the tool's low complexity (2 optional parameters, no output schema, no annotations), the description covers the core purpose but leaves gaps. It does not explain how the optional 'location' and 'project_id' parameters affect the listing, nor does it mention any behavioral traits like pagination. It is minimally adequate but not fully complete for an agent to invoke with confidence.
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 100%, so the input schema already documents both 'location' and 'project_id' with clear descriptions. The description adds no additional meaning about how these parameters filter the results or whether they are optional. The baseline of 3 is appropriate when the schema does the heavy lifting.
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 a specific verb ('List') and resource ('deployed model inference endpoints') scoped to 'E2E TIR', and the example (vLLM/HuggingFace) further clarifies the resource type. It is clearly distinguishable from siblings that list notebooks, datasets, or GPU SKUs by the resource name alone, but it does not explicitly name an alternative or contrast itself with any sibling tool.
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 when-to-use guidance, no prerequisites, and no exclusions. It does not indicate when an agent should choose this tool over e2e_tir_list_notebooks, e2e_tir_list_training_clusters, or other list tools, leaving usage entirely to inference from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_tir_list_notebooksC
List all AI Labs and Jupyter notebook instances in E2E TIR (AI/ML platform).
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status (e.g. "running", "stopped"). | |
| page_no | No | Page number. | |
| location | No | Location/region code. | |
| per_page | No | Items per page. | |
| project_id | No | Project ID. | |
| instance_category | No | Category filter (default: "notebook"). | notebook |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses little: no auth/permission requirements, no pagination behavior despite page_no/per_page parameters, and no note that results are filtered by default. It also implies AI Labs and notebooks are both returned, while the schema default instance_category='notebook' would return only notebooks.
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?
A single front-loaded sentence with no filler, naming the verb, resource, and platform. It is efficient, though arguably too terse given the undisclosed default filtering and pagination.
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?
Adequate for a simple list tool with 100% schema coverage and no output schema, but it omits pagination semantics and the default instance_category behavior, which an agent needs to interpret results correctly. The stated scope also conflicts mildly with that default.
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 100%, so all six parameters are already documented in the schema; the description adds no filter syntax, default behavior, or meaning beyond the resource scope. Baseline 3 is appropriate when the schema does the heavy lifting.
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?
States a specific verb ('List') and resource ('AI Labs and Jupyter notebook instances in E2E TIR'), so an agent can distinguish it from e2e_tir_create_notebook and e2e_tir_notebook_action. It does not explicitly differentiate itself from the other tir_list_* siblings, but the resource noun does that implicitly.
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 when-to-use guidance, no mention of alternatives among the many sibling list tools, and no indication of prerequisites or when the optional filters should be applied. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_tir_list_training_clustersB
List managed Slurm / distributed GPU training clusters in E2E TIR.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Location/region code. | |
| project_id | No | Project ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'List' implies a safe read, but the description says nothing about whether location/project_id narrow the results or are optional filters, whether results are paginated, or what permission scope is required.
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?
A single tight sentence with the resource and environment front-loaded and zero filler. Nothing is wasted.
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 two-optional-parameter list tool with no output schema, this is minimally viable: the agent knows what it retrieves. It falls short on filter semantics and result scope, which nothing else in the definition supplies.
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 100%, so both parameters (location, project_id) are already documented in the schema, giving a baseline of 3. The description adds no meaning beyond that — it does not clarify that these are optional scoping filters.
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?
States a specific verb ('List') and a specific resource ('managed Slurm / distributed GPU training clusters'), scoped to E2E TIR. The resource is distinctive enough to separate it from e2e_list_k8s_clusters or e2e_tir_list_notebooks, though it never names a sibling explicitly.
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, no exclusions, and no prerequisites. The reader must infer from the name alone that this is the discovery step for TIR training clusters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
e2e_tir_notebook_actionC
Execute a control action (start, stop, reboot, attach_reserve_ip) on an AI Lab notebook instance.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to execute. | |
| location | No | Location/region code. | |
| project_id | No | Project ID. | |
| instance_id | Yes | Notebook instance ID. |
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 does not disclose whether stop/reboot are disruptive or destructive, whether the operation is synchronous or asynchronous, permission requirements, or any effect on running workloads or attached volumes.
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?
A single tight sentence with the action type and target resource front-loaded and zero filler. Appropriately sized for a straightforward action tool.
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 mutation tool with no annotations and no output schema, the description is too thin: it never states what the actions do to the instance, whether they are reversible, or what a caller should expect. The schema covers inputs, but the behavioral side is effectively undocumented.
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 100% and includes an enum for 'action', so the structured data already documents the parameters; baseline 3 applies. The description lists some action values but adds no syntax, format, or meaning beyond the schema, and actually omits one enum 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?
States a specific verb ('Execute a control action') and resource ('AI Lab notebook instance') and enumerates the actions, so an agent can distinguish it from siblings like e2e_tir_create_notebook or e2e_node_action. However, the enumerated list (start, stop, reboot, attach_reserve_ip) omits detach_reserve_ip, which the schema enum includes, so the description under-reports its own scope.
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 versus siblings such as e2e_tir_create_notebook, e2e_node_action, or e2e_action_reserved_ip, and no prerequisites (e.g., instance must exist and be in a suitable state) are stated. The reader must infer usage entirely.
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.
46 tool updates
v1.0.1- First observed
e2e_action_reserved_ip - First observed
e2e_attach_security_group - First observed
e2e_attach_volume - First observed
e2e_configure_credentials - First observed
e2e_create_bucket - First observed
e2e_create_database - First observed
e2e_create_node - First observed
e2e_create_volume - First observed
e2e_create_vpc - First observed
e2e_database_action - First observed
e2e_delete_bucket - First observed
e2e_delete_node - First observed
e2e_delete_volume - First observed
e2e_delete_vpc - First observed
e2e_detach_security_group - First observed
e2e_detach_volume - First observed
e2e_get_billing_summary - First observed
e2e_get_database - First observed
e2e_get_k8s_cluster - First observed
e2e_get_node - First observed
e2e_get_node_health - First observed
e2e_list_buckets - First observed
e2e_list_database_plans - First observed
e2e_list_databases - First observed
e2e_list_k8s_clusters - First observed
e2e_list_k8s_node_pools - First observed
e2e_list_load_balancers - First observed
e2e_list_nodes - First observed
e2e_list_os_images - First observed
e2e_list_plans - First observed
e2e_list_projects - First observed
e2e_list_reserved_ips - First observed
e2e_list_security_groups - First observed
e2e_list_sfs - First observed
e2e_list_volumes - First observed
e2e_list_vpcs - First observed
e2e_node_action - First observed
e2e_raw_request - First observed
e2e_test_connection - First observed
e2e_tir_create_notebook - First observed
e2e_tir_list_datasets - First observed
e2e_tir_list_gpu_skus - First observed
e2e_tir_list_model_endpoints - First observed
e2e_tir_list_notebooks - First observed
e2e_tir_list_training_clusters - First observed
e2e_tir_notebook_action
TDQS
Scored across 46 tools
Most tools target a distinct resource+action (nodes, databases, k8s, volumes, buckets, VPCs, reserved IPs, TIR notebooks), so selection is generally clear. Minor overlap exists between e2e_get_node and e2e_get_node_health, and the catch-all e2e_raw_request could in principle shadow every other tool, but the descriptions keep boundaries readable.
Nearly all names follow an e2e_ prefix with a predictable verb_noun pattern (list_nodes, get_node, create_volume, delete_bucket), plus a consistent e2e_tir_ namespace for AI tools. A few names invert to noun_action (e2e_node_action, e2e_database_action, e2e_action_reserved_ip), a minor deviation but still predictable.
46 tools is heavy by count (normally warranting a low score), but the server spans a genuinely large cloud domain (compute, networking, storage, DBaaS, k8s, billing, and a full AI/ML platform). Spread across these services it is roughly 4-5 tools each, so it is borderline rather than excessive.
Several domains are read-only with no lifecycle operations: load balancers, security groups, k8s clusters, and SFS offer only list/get with no create/delete. Compute and database flows are well covered, and the e2e_raw_request escape hatch plus credential/connection tools mitigate the gaps, but the surface is uneven.
Maintenance
Related MCP Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Your AI Agent's Infrastructure Layer. Connect Claude, Copilot, Codex, or ChatGPT to 200+ managed open source services. Start databases, pipelines, and applications through natural language.
Unified API to query AWS, GCP, Azure and generate Terraform/CLI execution kits for AI agents.
Deploy, monitor, and manage your OpenClaw AI assistants via natural language.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI assistants to manage multi-cloud resources (AWS, Azure, GCP) including resource operations, cost analysis, monitoring metrics, and security compliance checks through natural language commands.2610 npm2MIT
- AlicenseNot gradedqualityCmaintenanceProvides AI agents with natural language control over AWS, Azure, GCP, and Alibaba Cloud infrastructure through dynamic API discovery and execution. Supports 51,900+ cloud operations and includes OpenTofu integration for complete infrastructure lifecycle management.3MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform DevOps tasks including Kubernetes management, cloud provider operations, CI/CD, security scanning, and infrastructure monitoring through natural language.MIT

GreenNode MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage VNG Cloud infrastructure including compute, storage, networking, and Kubernetes resources through natural language commands.Apache 2.0