{"record":{"id":"9888a3ab1651ba71","repo":"googleapis/mcp-toolbox","slug":"resource-name-should-be-between-1-and-128-characte","errorCode":null,"errorMessage":"resource name SHOULD be between 1 and 128 characters in length (inclusive)","messagePattern":"resource name SHOULD be between 1 and 128 characters in length \\(inclusive\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/server/config.go","lineNumber":614,"sourceCode":"\t// Use the central registry to decode the prompt based on its type.\n\tpromptCfg, err := prompts.DecodeConfig(ctx, resourceType, name, dec)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn promptCfg, nil\n}\n\n// Tools naming validation is added in the MCP v2025-11-25, but we'll be\n// implementing it across Toolbox\n// Tool names SHOULD be between 1 and 128 characters in length (inclusive).\n// Tool names SHOULD be considered case-sensitive.\n// The following SHOULD be the only allowed characters: uppercase and lowercase ASCII letters (A-Z, a-z), digits (0-9), underscore (_), hyphen (-), and dot (.)\n// Tool names SHOULD NOT contain spaces, commas, or other special characters.\n// Tool names SHOULD be unique within a server.\nfunc NameValidation(name string) error {\n\tstrLen := len(name)\n\tif strLen < 1 || strLen > 128 {\n\t\treturn fmt.Errorf(\"resource name SHOULD be between 1 and 128 characters in length (inclusive)\")\n\t}\n\tvalidChars := regexp.MustCompile(\"^[a-zA-Z0-9_.-]+$\")\n\tisValid := validChars.MatchString(name)\n\tif !isValid {\n\t\treturn fmt.Errorf(\"invalid character for resource name; only uppercase and lowercase ASCII letters (A-Z, a-z), digits (0-9), underscore (_), hyphen (-), and dot (.) is allowed\")\n\t}\n\treturn nil\n}\n\nfunc formatDocLocation(docIndex int, keyToken *token.Token, body ast.Node) string {\n\tline, column := 0, 0\n\tif keyToken != nil {\n\t\tline = keyToken.Position.Line\n\t\tcolumn = keyToken.Position.Column\n\t} else if body != nil && body.GetToken() != nil {\n\t\tline = body.GetToken().Position.Line\n\t\tcolumn = body.GetToken().Position.Column\n\t}","sourceCodeStart":596,"sourceCodeEnd":632,"githubUrl":"https://github.com/googleapis/mcp-toolbox/blob/8cc6e09de2ad7b8bffc77751799585a1401a48eb/internal/server/config.go#L596-L632","documentation":"Error \"resource name SHOULD be between 1 and 128 characters in length (inclusive)\" thrown in googleapis/mcp-toolbox.","triggerScenarios":"Thrown at internal/server/config.go:614 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8cc6e09de2ad7b8bffc77751799585a1401a48eb","analyzedAt":"2026-09-05T01:10:36.887Z","contentChangedAt":"2026-09-05T01:10:36.887Z","schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}