The GitHub MCP server provides multiple tools for interacting with GitHub. Here's when and how to use each tool in the issue creation workflow. Note: Issue body formatting should follow the templates defined in and ALWAYS use this FIRST before creating any issue to check for duplicates. Search for keywords from the user's problem description. github search_issues { "q": "repo:RooCodeInc/Roo-Code dark theme button visibility", "sort": "updated", "order": "desc" } Use to browse recent issues if search doesn't find specific matches. Helpful for understanding issue patterns and formatting. github list_issues { "owner": "RooCodeInc", "repo": "Roo-Code", "state": "all", "labels": ["bug"], "sort": "created", "direction": "desc", "perPage": 10 } Use when you find a potentially related issue and need full details. Check if the user's issue is already reported or related. github get_issue { "owner": "RooCodeInc", "repo": "Roo-Code", "issue_number": 123 } Use on related issues to understand discussion context. Helps avoid creating issues for already-discussed topics. github get_issue_comments { "owner": "RooCodeInc", "repo": "Roo-Code", "issue_number": 123 } For bug reports, check recent commits that might have introduced the issue. Look for commits touching the affected files. github list_commits { "owner": "RooCodeInc", "repo": "Roo-Code", "perPage": 20 } When you identify a potentially problematic commit. Get details about what changed. github get_commit { "owner": "RooCodeInc", "repo": "Roo-Code", "sha": "abc123def456" } Use to find code patterns across the repository on GitHub. Complements local codebase_search tool. github search_code { "q": "repo:RooCodeInc/Roo-Code language:typescript dark theme button" } Check recent PRs that might be related to the issue. Look for PRs that modified relevant code. github list_pull_requests { "owner": "RooCodeInc", "repo": "Roo-Code", "state": "all", "sort": "updated", "direction": "desc", "perPage": 10 } Only use after: 1. Confirming no duplicates exist 2. Gathering all required information per or 3. Exploring codebase for context 4. Getting user confirmation github create_issue { "owner": "RooCodeInc", "repo": "Roo-Code", "title": "[Descriptive title of the bug]", "body": "[Format according to fields]", "labels": ["bug"] } github create_issue { "owner": "RooCodeInc", "repo": "Roo-Code", "title": "[Descriptive title of the feature request]", "body": "[Format according to fields]", "labels": ["proposal", "enhancement"] } Use if user wants to add additional information after creation. Also use to link related issues. github add_issue_comment { "owner": "RooCodeInc", "repo": "Roo-Code", "issue_number": 456, "body": "Related to #123 - both issues affect dark theme visibility" } Use if user realizes they need to update the issue after creation. Can update title, body, or state. github update_issue { "owner": "RooCodeInc", "repo": "Roo-Code", "issue_number": 456, "title": "[Updated title if needed]", "body": "[Updated body if needed]" } After user selects issue type, immediately search for related issues: 1. Use search_issues with keywords from their description 2. Show any similar issues found 3. Ask if they want to continue or comment on existing issue When searching GitHub Discussions: 1. Note that GitHub MCP tools don't currently support discussions API 2. Instruct user to manually search discussions at: https://github.com/RooCodeInc/Roo-Code/discussions/categories/feature-requests 3. Ask user to provide any related discussion numbers they find 4. Include these in the "Related Discussions" section of the issue During codebase exploration: 1. Use list_commits to find recent changes to affected files 2. Use search_code for additional code references 3. Check list_pull_requests for related PRs 4. Include findings in the technical context section When creating the issue: 1. Format the issue body according to or 2. Use create_issue with complete formatted body 3. Capture the returned issue number 4. If related issues were found, use add_issue_comment to link them 5. Show user the created issue URL If search_issues finds exact duplicate: - Show the existing issue to user - Ask if they want to add a comment instead - Use add_issue_comment if they agree If create_issue fails: - Check error message (permissions, rate limit, etc.) - Save the drafted issue content - Provide user with the content to create manually Be aware of GitHub API rate limits: - Authenticated requests: 5000/hour - Search API: 30 requests/minute - Use searches efficiently