Skip to main content
Glama

create_label

Create GitHub labels to organize issues and pull requests by adding color-coded tags with descriptions for better project management.

Instructions

Create a new GitHub label

Input Schema

NameRequiredDescriptionDefault
nameYes
colorYes
descriptionNo

Input Schema (JSON Schema)

{ "properties": { "color": { "type": "string" }, "description": { "type": "string" }, "name": { "type": "string" } }, "required": [ "name", "color" ], "type": "object" }

Implementation Reference

  • Core handler implementation that uses GitHub GraphQL API to create a new repository label with the given name, color, and optional description.
    async createLabel(data: { name: string; color: string; description?: string; }): Promise<{ id: string; name: string; color: string; description: string }> { try { const mutation = ` mutation($input: CreateLabelInput!) { createLabel(input: $input) { label { id name color description } } } `; interface CreateLabelResponse { createLabel: { label: { id: string; name: string; color: string; description: string; } } } const response = await this.factory.graphql<CreateLabelResponse>(mutation, { input: { repositoryId: this.factory.getConfig().repo, name: data.name, color: data.color, description: data.description || '' } }); return response.createLabel.label; } catch (error) { throw this.mapErrorToMCPError(error); } }
  • Zod schema defining input validation for the create_label tool: name (required string), color (6-digit hex), description (optional string).
    // Schema for create_label tool export const createLabelSchema = z.object({ name: z.string().min(1, "Label name is required"), color: z.string().regex(/^[0-9a-fA-F]{6}$/, "Color must be a valid 6-digit hex color code without #"), description: z.string().optional(), }); export type CreateLabelArgs = z.infer<typeof createLabelSchema>;
  • Registers the createLabelTool in the central ToolRegistry during initialization.
    // Register label tools this.registerTool(createLabelTool); this.registerTool(listLabelsTool);
  • ToolDefinition object that defines the create_label tool's metadata, schema reference, and usage examples for registration.
    export const createLabelTool: ToolDefinition<CreateLabelArgs> = { name: "create_label", description: "Create a new GitHub label", schema: createLabelSchema as unknown as ToolSchema<CreateLabelArgs>, examples: [ { name: "Create bug label", description: "Create a red bug label", args: { name: "bug", color: "ff0000", description: "Something isn't working" } } ] };
  • MCP server dispatch handler that routes create_label tool calls to the ProjectManagementService.createLabel method.
    case "create_label": return await this.service.createLabel(args);

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/HarshKumarSharma/MCP'

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