Fix SonarQube issues: string duplication and cognitive complexity #25
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



Summary
Fixes SonarQube high-severity issues related to string literal duplication (go:S1192) and cognitive complexity (go:S3776) by implementing comprehensive refactoring of search functionality and CLI utilities.
Key Changes:
Files Changed
cmd/mcpcurl/main.gostdioServerCmdFlagconstant to eliminate "stdio-server-cmd" string duplicationloadSchemaAndAddCommands()function to reduce complexity in main()pkg/github/search.goerrFailedToReadResponseBody,errFailedToMarshalResponse)buildSearchTool()- Generic tool definition builder (eliminates SearchUsers/SearchOrgs duplication)buildSearchHandler()- Generic handler function builderhandleSearchResponse()- Centralized response processingmarshalAndReturnResult()- Centralized result marshalingextractSearchParams()- Common parameter extractionprocessSearchUsers()- User processing logic extractionSearchRepositories()- Now uses generic handler patternuserOrOrgHandler()- Now uses buildSearchHandlerSearchUsers()/SearchOrgs()- Now use buildSearchTool (major duplication reduction)Impact
Testing
Human Review Checklist
Critical Areas to Verify:
Potential Regression Areas:
Link to Devin run: https://app.devin.ai/sessions/fbfcc7c2b53b44e2afc44653733e6cbc
Requested by: @eashansinha
Closes: SonarQube duplication and complexity issues in GitHub MCP Server