{"record":{"id":"27789959b865b7ae","repo":"github/github-mcp-server","slug":"unsupported-resource-uri-s","errorCode":null,"errorMessage":"unsupported resource URI: %s","messagePattern":"unsupported resource URI: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"info","filePath":"pkg/github/server.go","lineNumber":202,"sourceCode":"\t\tTitle:   title,\n\t\tVersion: version,\n\t\tIcons:   octicons.Icons(\"mark-github\"),\n\t}, opts)\n\n\treturn s\n}\n\nfunc CompletionsHandler(getClient GetClientFn) func(ctx context.Context, req *mcp.CompleteRequest) (*mcp.CompleteResult, error) {\n\treturn func(ctx context.Context, req *mcp.CompleteRequest) (*mcp.CompleteResult, error) {\n\t\tif req == nil || req.Params == nil || req.Params.Ref == nil {\n\t\t\treturn nil, fmt.Errorf(\"missing required parameter: ref\")\n\t\t}\n\t\tswitch req.Params.Ref.Type {\n\t\tcase \"ref/resource\":\n\t\t\tif strings.HasPrefix(req.Params.Ref.URI, \"repo://\") {\n\t\t\t\treturn RepositoryResourceCompletionHandler(getClient)(ctx, req)\n\t\t\t}\n\t\t\treturn nil, fmt.Errorf(\"unsupported resource URI: %s\", req.Params.Ref.URI)\n\t\tcase \"ref/prompt\":\n\t\t\treturn nil, nil\n\t\tdefault:\n\t\t\treturn nil, fmt.Errorf(\"unsupported ref type: %s\", req.Params.Ref.Type)\n\t\t}\n\t}\n}\n\nfunc MarshalledTextResult(v any) *mcp.CallToolResult {\n\tdata, err := json.Marshal(v)\n\tif err != nil {\n\t\treturn utils.NewToolResultErrorFromErr(\"failed to marshal text result to json\", err)\n\t}\n\n\treturn utils.NewToolResultText(string(data))\n}\n","sourceCodeStart":184,"sourceCodeEnd":219,"githubUrl":"https://github.com/github/github-mcp-server/blob/0ea1f775a7c73eff1bd2e25904d01136756bbfe2/pkg/github/server.go#L184-L219","documentation":"A completion request with ref type ref/resource was routed to the completions handler, but the URI does not start with repo:// - the only resource URI scheme this server implements completion for. Any other scheme is explicitly unsupported.","triggerScenarios":"Client requests completion for a non-repo scheme (issue://, git://, custom schemes); URI typo; generic clients that blindly attempt completion on every advertised resource.","commonSituations":"Generic MCP clients enumerating resources and auto-completing all URIs; scheme changes between server versions.","solutions":["Only request completion for repo:// URIs","Cross-check the URI against the server's resources/list output before completing","Treat this error as non-fatal client-side: skip completion for unsupported schemes"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if !strings.HasPrefix(ref.URI, \"repo://\") {\n\treturn nil // skip completion for schemes the server does not support\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Only request completion for repo:// URIs","Fetch resources/list and match URIs exactly before completing","Treat unsupported-scheme errors as skip conditions, not failures"],"tags":["mcp","resources","validation"],"backgroundTag":null,"analyzedSha":"0ea1f775a7c73eff1bd2e25904d01136756bbfe2","analyzedAt":"2026-08-15T18:10:19.804Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}