Issue types (Bug, Feature, Task, Epic, etc.) are defined at the organization level and inherited by repositories. They categorize issues beyond labels.
For basic usage, the MCP tools handle issue types natively. Call mcp__github__list_issue_types to discover types, and pass type: "Bug" to mcp__github__create_issue or mcp__github__update_issue. This reference covers advanced GraphQL operations.
All GraphQL issue type operations require the GraphQL-Features: issue_types HTTP header.
# Header: GraphQL-Features: issue_types
{
organization(login: "OWNER") {
issueTypes(first: 20) {
nodes { id name color description isEnabled }
}
}
}Types can also be listed per-repo via repository.issueTypes or looked up by name via repository.issueType(name: "Bug").
# Header: GraphQL-Features: issue_types
{
repository(owner: "OWNER", name: "REPO") {
issue(number: 123) {
issueType { id name color }
}
}
}# Header: GraphQL-Features: issue_types
mutation {
updateIssueIssueType(input: {
issueId: "ISSUE_NODE_ID"
issueTypeId: "IT_xxx"
}) {
issue { id issueType { name } }
}
}# Header: GraphQL-Features: issue_types
mutation {
createIssue(input: {
repositoryId: "REPO_NODE_ID"
title: "Fix login bug"
issueTypeId: "IT_xxx"
}) {
issue { id number issueType { name } }
}
}To clear the type, set issueTypeId to null.
GRAY, BLUE, GREEN, YELLOW, ORANGE, RED, PINK, PURPLE