get_issue
Retrieve detailed information about a specific GitHub issue by providing its issue ID to access status, comments, and related data.
Instructions
Get details of a specific GitHub issue
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | Yes |
Input Schema (JSON Schema)
{
"properties": {
"issueId": {
"type": "string"
}
},
"required": [
"issueId"
],
"type": "object"
}
Implementation Reference
- src/index.ts:281-282 (handler)MCP tool handler for 'get_issue' in the main server switch statement, dispatching to ProjectManagementService.getIssuecase "get_issue": return await this.service.getIssue(args.issueId);
- Zod schema and TypeScript type definition for get_issue tool input validation// Schema for get_issue tool export const getIssueSchema = z.object({ issueId: z.string().min(1, "Issue ID is required"), }); export type GetIssueArgs = z.infer<typeof getIssueSchema>;
- src/infrastructure/tools/ToolRegistry.ts:157-157 (registration)Registration of getIssueTool in the central ToolRegistrythis.registerTool(getIssueTool);
- Service-level handler implementation calling GitHubIssueRepository.findByIdasync getIssue(issueId: string): Promise<Issue | null> { try { return await this.issueRepo.findById(issueId); } catch (error) { throw this.mapErrorToMCPError(error); } }
- ToolDefinition object for 'get_issue' including name, description, schema reference, and usage examplesexport const getIssueTool: ToolDefinition<GetIssueArgs> = { name: "get_issue", description: "Get details of a specific GitHub issue", schema: getIssueSchema as unknown as ToolSchema<GetIssueArgs>, examples: [ { name: "Get issue details", description: "Get detailed information about an issue", args: { issueId: "42" } } ] };