-
Notifications
You must be signed in to change notification settings - Fork 78
Description
Overview
I propose adding a GitHub MCP server to enable AI assistants to interact with GitHub repositories, issues, pull requests, and more through natural language.
Motivation
GitHub is the most widely used development platform, but there's currently no GitHub integration in the IBM MCP collection. This server would enable developers to automate common GitHub workflows through AI assistants.
Phase 1: MVP (Initial Contribution)
I'll start with 15 core features covering essential GitHub operations:
Repository Management (3 tools):
list_repositories- List user's repositoriesget_repository- Get detailed repository informationcreate_repository- Create a new repository
Issue Management (4 tools):
list_issues- List issues in a repositoryget_issue- Get detailed issue informationcreate_issue- Create a new issueclose_issue- Close an issue
Pull Request Management (4 tools):
list_pull_requests- List pull requestsget_pull_request- Get detailed PR informationcreate_pull_request- Create a new pull requestmerge_pull_request- Merge a pull request
Branch Management (2 tools):
list_branches- List repository branchescreate_branch- Create a new branch
File Operations (2 tools):
get_file_contents- Read file contents from repositorycreate_or_update_file- Create or update a file
Plus: OAuth/Token authentication, error handling, rate limiting, comprehensive tests, and documentation.
Phase 2: Enhanced Features (Future PRs)
After MVP is merged, I plan to add:
- Issue comments, assignments, and labels
- PR reviews and comments
- Branch deletion
- File deletion
- Code search
- Collaborator management
- Milestones and labels
- Commit history
This phased approach allows for early feedback and iterative improvement.
Example Use Cases
Automated Issue Creation:
User: "Create an issue: Fix login bug on mobile"
AI → GitHub MCP → Issue created
PR Management:
User: "Show me all open PRs and merge any that are approved"
AI → GitHub MCP → Lists PRs and merges approved ones
Quick Repository Info:
User: "What's the status of my resume-matcher repo?"
AI → GitHub MCP → Returns stars, forks, last update, open issues
Implementation Details
- Language: Python 3.11+
- GitHub API: PyGithub library
- Authentication: OAuth 2.0 / Personal Access Token
- MCP Framework: fastmcp
- Testing: pytest with comprehensive test coverage
- Documentation: Complete README with examples
Timeline
Phase 1 MVP:
- Days 1-2: Setup + Repository tools
- Days 3-4: Issues + PR tools
- Day 5: Branches + Files
- Day 6: Testing + Bug fixes
- Day 7: Documentation + PR submission
Phase 2+: Iterative improvements based on maintainer feedback
Questions
- Would maintainers be interested in this phased contribution approach?
- Any specific coding standards or patterns I should follow?
- Should I prioritize OAuth or Token auth (or both)?
- Any rate limiting strategies you recommend?
About Me
MS Computer Science student at Northeastern University with experience in Python, REST APIs, and backend development. Excited to contribute to IBM MCP!
Looking forward to your feedback!