Missing tool: list_issue_comments for reading general PR/issue comments
GitHub Issue Draft for modelcontextprotocol/servers
Title
Missing tool: list_issue_comments for reading general PR/issue comments
Body
Summary
The GitHub MCP server is missing a critical tool for reading issue comments, creating an asymmetric API where users can write general PR/issue comments but cannot read them programmatically.
Related Issues & PRs
Previous Missing Tools Issues:
- #493: "Github MCP server has only half its claimed tools available" (January 2025)
- #541: "GitHub MCP Server missing some tools from the listed features" (January 2025)
Fix Attempt:
- #728: "Add missing pull request operations to MCP server" (March 2025) - MERGED
- Fixed:
get_pull_request,list_pull_requests,create_pull_request_review,merge_pull_request,get_pull_request_files,get_pull_request_status,update_pull_request_branch,get_pull_request_comments,get_pull_request_reviews - Missing: Issue comment reading functionality was not included
- Fixed:
Current State
✅ Working (Write Operation):
- Tool:
add_issue_comment - GitHub API:
POST /repos/{owner}/{repo}/issues/{issue_number}/comments - Functionality: Can successfully add general comments to PRs/issues
❌ Missing (Read Operation):
- No corresponding read tool exists
- GitHub API:
GET /repos/{owner}/{repo}/issues/{issue_number}/comments - Impact: Cannot read general PR/issue comments programmatically
Expected Behavior
There should be a tool (e.g., list_issue_comments or get_issue_comments) that allows reading issue comments, following the same pattern as other GitHub resources and completing the fix from PR #728.
Reproduction Steps
-
Setup: Use any GitHub MCP server integration (tested with Claude Code)
-
Create issue comment:
add_issue_comment(owner="mol-george", repo="ads", issue_number=20, body="test comment")✅ Result: Successfully creates comment
-
Attempt to read comments:
- No tool available for
GET /repos/{owner}/{repo}/issues/{issue_number}/comments - ❌ Result: Cannot read the comment that was just created
- No tool available for
-
Verify comments exist:
get_issue(owner="mol-george", repo="ads", issue_number=20)✅ Result: Shows
"comments": 2confirming comments exist but are unreadable via MCP
Technical Analysis
API Pattern Inconsistency
| Resource | List/Read Tool | Create/Write Tool | Complete? |
|---|---|---|---|
| Issues | ✅ list_issues |
✅ create_issue |
✅ |
| Pull Requests | ✅ list_pull_requests |
✅ create_pull_request |
✅ |
| PR Review Comments | ✅ get_pull_request_comments |
✅ create_pull_request_review |
✅ |
| Issue Comments | ❌ MISSING | ✅ add_issue_comment |
❌ |
GitHub API Support
The GitHub REST API fully supports reading issue comments:
- Endpoint:
GET /repos/{owner}/{repo}/issues/{issue_number}/comments - Documentation: https://docs.github.com/en/rest/issues/comments
- Authentication: Same requirements as existing working tools
- Permissions: Same requirements as
add_issue_comment
Suggested Implementation
Add a new tool with signature:
list_issue_comments(
owner: string,
repo: string,
issue_number: number,
since?: string, // Optional: only comments updated after this time
per_page?: number, // Optional: pagination
page?: number // Optional: pagination
)
Returns: Array of issue comment objects matching GitHub API response format.
Impact
This missing functionality affects:
- PR workflow automation: Cannot read comment threads programmatically
- Issue management: Cannot process user feedback in comments
- GitHub integrations: Incomplete API coverage breaks automation workflows
- Developer experience: Asymmetric API creates confusion and limitations
Distinction from Fixed Tools
What PR #728 Fixed Successfully:
- ✅
get_pull_request_comments- Reads review comments (code line-specific comments) - ✅
get_pull_request_reviews- Reads reviews (overall PR reviews)
What's Still Missing:
- ❌
list_issue_comments- Read issue comments (general conversation comments)
GitHub Comment Types Explained:
- Issue Comments: General conversation on PRs/issues (
/issues/{id}/comments) - Missing read tool - Review Comments: Code line-specific comments (
/pulls/{id}/comments) - Fixed in #728 - Reviews: Overall PR reviews with approval/changes (
/pulls/{id}/reviews) - Fixed in #728
Workarounds
Currently users must:
- Use GitHub web interface to read comments manually
- Use
ghCLI for comment reading - Implement custom API calls outside MCP
- Use only review comments (line-specific) which do have read tools
Environment
- GitHub MCP Server: Version available in Claude Code (June 2025)
- Test Repository: https://github.com/mol-george/ads/pull/20
- Authentication: Working (can create issues, PRs, and comments)
- Permissions: Full repository access
Test Evidence
Live Test PR: https://github.com/mol-george/ads/pull/20
Test Results:
- ✅ Created issue comment via
add_issue_comment- Confirmed working - ❌ Cannot read issue comments - no tool available
- ✅ Confirmed comments exist via
get_issueshowing"comments": 2 - ✅ Review comments work perfectly via
get_pull_request_comments(fixed in #728) - ✅ Reviews work perfectly via
get_pull_request_reviews(fixed in #728)
This demonstrates the asymmetric implementation clearly - PR #728 fixed review-related reading but missed issue comment reading.
Priority: Medium (affects core GitHub workflow functionality) Effort: Low (follows existing patterns, GitHub API already supports it, similar to tools fixed in #728) Benefit: High (completes the missing piece of GitHub integration)
This issue represents the final gap in the GitHub MCP server's comment functionality that wasn't addressed in the comprehensive fix of PR #728.