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
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| issueIds | No | ||
| projectContext | No | ||
| autoApply | No |
Implementation Reference
- src/index.ts:694-721 (handler)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>;
- src/infrastructure/tools/ToolRegistry.ts:297-297 (registration)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);