Skip to main content
Glama
kunwarVivek

mcp-github-project-manager

enrich_issues_bulk

Enhance multiple GitHub project issues simultaneously using AI to add context, improve clarity, and streamline project management workflows.

Instructions

Bulk AI-powered issue enrichment for multiple issues at once.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdYes
issueIdsNo
projectContextNo
autoApplyNo

Implementation Reference

  • The primary handler function for the 'enrich_issues_bulk' tool. Fetches project items, determines issue IDs (or uses provided), calls IssueEnrichmentService.enrichIssues() for bulk enrichment using AI, and returns success with enrichment results.
    private async handleEnrichIssuesBulk(args: any): Promise<any> {
      try {
        const items = await this.service.listProjectItems({
          projectId: args.projectId,
          limit: 200
        });
    
        const issueIds = args.issueIds || items.map((item: any) => item.id);
    
        const enrichments = await this.enrichmentService.enrichIssues({
          projectId: args.projectId,
          issueIds,
          projectContext: args.projectContext
        });
    
        return {
          success: true,
          enriched: enrichments.length,
          enrichments
        };
      } catch (error) {
        this.logger.error("Failed to bulk enrich issues:", error);
        throw new McpError(
          ErrorCode.InternalError,
          `Failed to bulk enrich issues: ${error instanceof Error ? error.message : 'Unknown error'}`
        );
      }
    }
  • Zod input schema validation for the enrich_issues_bulk tool parameters: projectId (required string), issueIds (optional array of strings), projectContext (optional string), autoApply (optional boolean default false).
    // Schema for enrich_issues_bulk tool
    export const enrichIssuesBulkSchema = z.object({
      projectId: z.string().min(1, "Project ID is required"),
      issueIds: z.array(z.string()).optional(),
      projectContext: z.string().optional(),
      autoApply: z.boolean().default(false).optional()
    });
    
    export type EnrichIssuesBulkArgs = z.infer<typeof enrichIssuesBulkSchema>;
  • Registers the enrichIssuesBulkTool in the central ToolRegistry singleton during initialization of built-in AI-powered automation tools.
    this.registerTool(enrichIssuesBulkTool);
  • ToolDefinition object for 'enrich_issues_bulk' including name, description, input schema reference, and usage examples. Used by ToolRegistry for MCP tool listing.
    export const enrichIssuesBulkTool: ToolDefinition<EnrichIssuesBulkArgs> = {
      name: "enrich_issues_bulk",
      description: "Bulk AI-powered issue enrichment for multiple issues at once.",
      schema: enrichIssuesBulkSchema as unknown as ToolSchema<EnrichIssuesBulkArgs>,
      examples: [
        {
          name: "Enrich all issues",
          description: "Enrich all issues in a project",
          args: {
            projectId: "PVT_kwDOLhQ7gc4AOEbH",
            projectContext: "E-commerce platform with React frontend and Node.js backend",
            autoApply: false
          }
        }
      ]
    };
  • src/index.ts:510-511 (registration)
    Dispatch case in the main executeToolHandler switch statement that routes 'enrich_issues_bulk' calls to the specific handler method.
    case "enrich_issues_bulk":
      return await this.handleEnrichIssuesBulk(args);
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/kunwarVivek/mcp-github-project-manager'

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