Skip to main content
Glama
aliyun

AlibabaCloud DevOps MCP Server

Official
by aliyun

get_repository

Retrieve details about a Codeup repository from Alibaba Cloud DevOps platform by providing organization and repository identifiers for code management tasks.

Instructions

[Code Management] Get information about a Codeup repository

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
organizationIdYesOrganization ID, can be found in the basic information page of the organization admin console
repositoryIdYesRepository ID or a combination of organization ID and repository name, for example: 2835387 or organizationId%2Frepo-name (Note: slashes need to be URL encoded as %2F)

Implementation Reference

  • Tool handler implementation that parses input arguments, calls the getRepositoryFunc helper, and formats the response as JSON text.
    case "get_repository": {
      const args = types.GetRepositorySchema.parse(request.params.arguments);
      const repository = await repositories.getRepositoryFunc(
        args.organizationId,
        args.repositoryId
      );
      return {
        content: [{ type: "text", text: JSON.stringify(repository, null, 2) }],
      };
    }
  • Zod input schema for validating arguments to the get_repository tool: organizationId and repositoryId.
    export const GetRepositorySchema = z.object({
      organizationId: z.string().describe("Organization ID, can be found in the basic information page of the organization admin console"),
      repositoryId: z.string().describe("Repository ID or a combination of organization ID and repository name, for example: 2835387 or organizationId%2Frepo-name (Note: slashes need to be URL encoded as %2F)"),
    });
  • Tool registration defining the name, description, and input schema for get_repository.
    {
      name: "get_repository",
      description: "[Code Management] Get information about a Codeup repository",
      inputSchema: zodToJsonSchema(types.GetRepositorySchema),
    },
  • Core helper function that encodes repositoryId, constructs API URL, fetches data via yunxiaoRequest, and parses response with RepositorySchema.
    export async function getRepositoryFunc(
      organizationId: string,
      repositoryId: string
    ): Promise<z.infer<typeof RepositorySchema>> {
      const encodedRepoId = handleRepositoryIdEncoding(repositoryId);
    
      const url = `/oapi/v1/codeup/organizations/${organizationId}/repositories/${encodedRepoId}`;
    
      const response = await yunxiaoRequest(url, {
        method: "GET",
      });
    
      return RepositorySchema.parse(response);
    }
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a 'Get' operation which implies read-only behavior, but doesn't specify what type of information is returned, whether authentication is required, any rate limits, error conditions, or response format. For a tool with no annotation coverage, this leaves significant behavioral gaps.

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

Conciseness4/5

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

The description is appropriately concise at just one sentence plus a context prefix. It's front-loaded with the core functionality ('Get information about a Codeup repository'). The '[Code Management]' prefix could be considered slightly redundant but doesn't significantly impact conciseness.

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

Completeness2/5

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

For a read operation with no annotations and no output schema, the description is insufficiently complete. It doesn't describe what information is returned (repository metadata, contents, statistics?), the response format, or any behavioral constraints. With 2 required parameters and no output schema, users need more context about what to expect from this tool.

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?

The description provides no parameter information beyond what's already in the schema. However, with 100% schema description coverage (both parameters have good descriptions in the schema), the baseline is 3. The description doesn't add any additional context about parameter relationships, validation rules, or usage patterns beyond what the schema already documents.

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

Purpose3/5

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

The description states the tool 'Get information about a Codeup repository', which is a clear verb+resource combination. However, it doesn't distinguish this from similar sibling tools like 'get_branch', 'get_change_request', or 'get_work_item' - all of which also 'get information' about different resources. The '[Code Management]' prefix adds some context but doesn't provide specific differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'list_repositories' (which likely lists multiple repositories) and various other 'get_' tools for different resources, there's no indication of when this specific repository information tool is appropriate versus other repository-related operations.

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/aliyun/alibabacloud-devops-mcp-server'

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