Skip to main content
Glama
ahmedselimmansor-ctrl

Alibaba Cloud MCP Server

ack_list_clusters

List all Container Service for Kubernetes (ACK) clusters in your Alibaba Cloud account.

Instructions

List Container Service for Kubernetes (ACK) clusters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler logic for ack_list_clusters: makes a GET request to '/api/v1/clusters' via the Alibaba Cloud ROAClient and returns the cluster list as formatted JSON text.
    if (name === "ack_list_clusters") {
      const result = await client.request('GET', '/api/v1/clusters', {}, '', {}, {});
      return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
    }
  • The handleAckTools function that dispatches to the ack_list_clusters handler based on the tool name. It creates an ROAClient with Alibaba Cloud credentials and endpoint.
    export async function handleAckTools(name: string, args: any) {
      // @ts-ignore
      const client = new Core.ROAClient({
        accessKeyId: config.ALIBABA_CLOUD_ACCESS_KEY_ID,
        accessKeySecret: config.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
        endpoint: 'https://cs.aliyuncs.com',
        apiVersion: '2015-12-15',
      });
    
      if (name === "ack_list_clusters") {
        const result = await client.request('GET', '/api/v1/clusters', {}, '', {}, {});
        return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
      }
    
      throw new Error(`Unknown ACK tool: ${name}`);
    }
  • The tool registration schema for ack_list_clusters: defines the name, description, and an empty inputSchema (no required parameters).
      name: "ack_list_clusters",
      description: "List Container Service for Kubernetes (ACK) clusters.",
      inputSchema: {
        type: "object",
        properties: {}
      }
    }
  • The registerAckTools function that returns the tool definition array (currently containing only ack_list_clusters).
    export function registerAckTools() {
      return [
        {
          name: "ack_list_clusters",
          description: "List Container Service for Kubernetes (ACK) clusters.",
          inputSchema: {
            type: "object",
            properties: {}
          }
        }
      ];
    }
  • src/index.ts:66-68 (registration)
    The dispatch logic in the main server that routes ack_ prefixed tool calls to handleAckTools, which includes ack_list_clusters.
    if (name.startsWith("ack_")) {
      return await handleAckTools(name, args);
    }
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden. It only states 'List' without disclosing read-only nature, pagination, permissions, or other behavioral traits. The description is insufficiently transparent.

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

Conciseness5/5

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

The description is a single concise sentence of 9 words, front-loaded with the core action. No unnecessary information.

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

Completeness3/5

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

For a tool with no parameters and no output schema, the description is adequate but minimal. It does not clarify scope (e.g., region, account) or return structure, leaving some gaps for an agent.

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

Parameters3/5

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

There are no parameters, and schema description coverage is 100% (empty schema). The description adds no meaning 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.

Purpose5/5

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

The description explicitly states the verb 'List' and the resource 'Container Service for Kubernetes (ACK) clusters', making the tool's purpose very clear. It distinguishes from sibling tools which target different services (e.g., ecs, ram, rds).

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives is provided. The purpose is implied as it's a list tool for a specific service, but the description lacks when-not-to-use or exclusionary context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ahmedselimmansor-ctrl/Alibaba_cloud_MCP_server'

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