github/github-mcp-server · error
failed to resolve project ID: %w
Error message
failed to resolve project ID: %w
What it means
Error "failed to resolve project ID: %w" thrown in github/github-mcp-server.
Source
Thrown at pkg/github/projects.go:1619
} `graphql:"user(login: $owner)"`
}
var projectIDQueryOrg struct {
Organization struct {
ProjectV2 struct {
ID githubv4.ID
} `graphql:"projectV2(number: $projectNumber)"`
} `graphql:"organization(login: $owner)"`
}
queryVars := map[string]any{
"owner": githubv4.String(owner),
"projectNumber": githubv4.Int(int32(projectNumber)), //nolint:gosec // Project numbers are small integers
}
if ownerType == "org" {
err := gqlClient.Query(ctx, &projectIDQueryOrg, queryVars)
if err != nil {
return "", fmt.Errorf("%s: %w", ProjectResolveIDFailedError, err)
}
return projectIDQueryOrg.Organization.ProjectV2.ID, nil
}
err := gqlClient.Query(ctx, &projectIDQueryUser, queryVars)
if err != nil {
return "", fmt.Errorf("%s: %w", ProjectResolveIDFailedError, err)
}
return projectIDQueryUser.User.ProjectV2.ID, nil
}
// addProjectItem adds an item to a project by resolving the issue/PR number to a node ID
func addProjectItem(ctx context.Context, gqlClient *githubv4.Client, owner, ownerType string, projectNumber int, itemOwner, itemRepo string, itemNumber int, itemType string) (*mcp.CallToolResult, any, error) {
if itemType != "issue" && itemType != "pull_request" {
return utils.NewToolResultError("item_type must be either 'issue' or 'pull_request'"), nil, nil
}
// Resolve the item number to a node IDView on GitHub (pinned to 0ea1f775a7)
When it happens
Trigger: Thrown at pkg/github/projects.go:1619 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of github/github-mcp-server@0ea1f775a7 (2026-08-15).
Data as JSON: /api/errors/6d415ed35a9e257a.
Report an issue: GitHub.