Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add issue management functionalities for github #119

Merged

Conversation

sirkitree
Copy link
Contributor

Description

  • Implemented three new GitHub API integration functions:
    • list_issues: Fetches and filters repository issues with pagination support
    • update_issue: Modifies existing issues (title, body, state, labels, etc.)
    • add_issue_comment: Adds comments to existing issues
  • Added corresponding TypeScript interfaces and input validation
  • Integrated error handling for API rate limits and permission issues
  • Added unit tests for new functionality

Server Details

  • Server: github
  • Changes to: Core functionality, API integration, testing suite

Motivation and Context

These additions complete the core issue management functionality of the GitHub MCP Server, allowing LLMs to fully interact with GitHub's issue system. This enables automated issue tracking, updates, and communication through the MCP protocol.

How Has This Been Tested?

  • Unit tests covering success and error cases for all new functions
  • Integration tests with actual GitHub API
  • Tested pagination handling with large issue sets
  • Verified proper error handling for:
    • Invalid issue numbers
    • Missing permissions
    • Rate limiting
    • Malformed input data

Breaking Changes

No breaking changes - new functionality only

Types of changes

  • New MCP Server
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Protocol Documentation
  • My server follows MCP security best practices
  • I have updated the server's README accordingly
  • I have tested this with an LLM client
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have documented all environment variables and configuration options

Additional context

The implementation uses GitHub's REST API v3 and includes proper rate limit handling and pagination support. Error messages are designed to be clear and actionable for both LLMs and human users.

sirkitree and others added 4 commits November 28, 2024 13:59
- Implemented `listIssues`, `updateIssue`, and `addIssueComment` functions to manage GitHub issues.
- Introduced corresponding schemas: `ListIssuesOptionsSchema`, `UpdateIssueOptionsSchema`, and `IssueCommentSchema`.
- Updated server request handlers to support new functionalities.
- Enhanced README with documentation for new features.
jspahrsummers
jspahrsummers previously approved these changes Dec 3, 2024
Copy link
Member

@jspahrsummers jspahrsummers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Can you please fix the TypeScript error, and we'll get this merged?

@sirkitree
Copy link
Contributor Author

Ready for re-review.

Copy link
Member

@jspahrsummers jspahrsummers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thanks for the fixes!

@jspahrsummers jspahrsummers merged commit 370198d into modelcontextprotocol:main Dec 5, 2024
23 checks passed
laith-abood pushed a commit to laith-abood/mcp-claude that referenced this pull request Jan 13, 2025
…ub-issue-tools

feat: add issue management functionalities for github
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants