github/github-mcp-server · error

failed to get GraphQL URL: %w

Error message

failed to get GraphQL URL: %w

What it means

Error "failed to get GraphQL URL: %w" thrown in github/github-mcp-server.

Source

Thrown at internal/ghmcp/server.go:57

	raw          *raw.Client
	repoAccess   *lockdown.RepoAccessCache
}

// createGitHubClients creates all the GitHub API clients needed by the server.
func createGitHubClients(cfg github.MCPServerConfig, apiHost utils.APIHostResolver) (*githubClients, error) {
	restURL, err := apiHost.BaseRESTURL(context.Background())
	if err != nil {
		return nil, fmt.Errorf("failed to get base REST URL: %w", err)
	}

	uploadURL, err := apiHost.UploadURL(context.Background())
	if err != nil {
		return nil, fmt.Errorf("failed to get upload URL: %w", err)
	}

	graphQLURL, err := apiHost.GraphqlURL(context.Background())
	if err != nil {
		return nil, fmt.Errorf("failed to get GraphQL URL: %w", err)
	}

	rawURL, err := apiHost.RawURL(context.Background())
	if err != nil {
		return nil, fmt.Errorf("failed to get Raw URL: %w", err)
	}

	// Construct REST client. When a TokenProvider is configured, we
	// authenticate via BearerAuthTransport and skip go-github's WithAuthToken:
	// the latter installs its own round tripper that would pin the static token
	// and shadow the dynamic one.
	restUATransport := &transport.UserAgentTransport{
		Transport: http.DefaultTransport,
		Agent:     fmt.Sprintf("github-mcp-server/%s", cfg.Version),
	}
	var restClient *gogithub.Client
	if cfg.TokenProvider != nil {
		restClient, err = gogithub.NewClient(

View on GitHub (pinned to 0ea1f775a7)

When it happens

Trigger: Thrown at internal/ghmcp/server.go:57 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/2446bc580e675a4d. Report an issue: GitHub.