{"id":29155265,"url":"https://github.com/nzenitram/github-mcp","last_synced_at":"2026-02-05T16:08:18.554Z","repository":{"id":283768497,"uuid":"952858542","full_name":"NZenitram/github-mcp","owner":"NZenitram","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-22T15:18:34.000Z","size":16,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-17T13:07:50.375Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NZenitram.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-22T02:52:42.000Z","updated_at":"2025-03-23T03:02:51.000Z","dependencies_parsed_at":"2025-03-22T04:29:50.927Z","dependency_job_id":null,"html_url":"https://github.com/NZenitram/github-mcp","commit_stats":null,"previous_names":["nzenitram/github-mcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NZenitram/github-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NZenitram%2Fgithub-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NZenitram%2Fgithub-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NZenitram%2Fgithub-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NZenitram%2Fgithub-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NZenitram","download_url":"https://codeload.github.com/NZenitram/github-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NZenitram%2Fgithub-mcp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262884935,"owners_count":23379474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-01T02:34:42.706Z","updated_at":"2026-02-05T16:08:18.524Z","avatar_url":"https://github.com/NZenitram.png","language":"Python","readme":"# GitHub MCP Tools\n\nA Multi-Claude Program (MCP) for interacting with GitHub APIs through Claude Desktop.\n\n## Features\n\n- Search GitHub repositories and issues\n- Create, update, and manage GitHub issues and pull requests\n- Manage repository settings and configurations\n- Handle repository workflows and actions\n- Search for users and organizations\n- Manage repository collaborators and teams\n\n## Installation\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/yourusername/github-mcp.git\n   cd github-mcp\n   ```\n\n2. Create and activate a virtual environment:\n   ```bash\n   # On macOS/Linux\n   python -m venv venv\n   source venv/bin/activate\n\n   # On Windows\n   python -m venv venv\n   .\\venv\\Scripts\\activate\n   ```\n\n3. Install dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. Create a `.env` file in the project root:\n   ```bash\n   touch .env\n   ```\n\n5. Add your GitHub credentials to the `.env` file:\n   ```\n   GITHUB_TOKEN=your_personal_access_token_here\n   GITHUB_USERNAME=your_github_username\n   ```\n\n6. Test the installation:\n   ```bash\n   # Run all tests\n   python -m pytest\n\n   # Run a specific test file\n   python -m pytest tests/test_search_repos.py\n   ```\n\n7. Start the MCP server:\n   ```bash\n   python run.py\n   ```\n\n## Environment Setup\n\n### GitHub Personal Access Token\nYou'll need a fine-grained personal access token to authenticate with GitHub:\n\n1. Log in to your GitHub account\n2. Go to Settings \u003e Developer settings \u003e Personal access tokens \u003e Fine-grained tokens\n3. Click \"Generate new token\"\n4. Configure the token:\n   - Token name: \"Claude Desktop Integration\"\n   - Description: \"Token for Claude Desktop GitHub integration\"\n   - Expiration: Choose an appropriate expiration date\n   - Repository access: Select \"All repositories\" or specific repositories\n   - Permissions:\n     - Repository permissions:\n       - Actions: Read and write\n       - Contents: Read and write\n       - Issues: Read and write\n       - Pull requests: Read and write\n       - Repository hooks: Read and write\n       - Repository settings: Read and write\n     - Organization permissions (if working with organization repositories):\n       - Members: Read-only\n       - Teams: Read-only\n5. Click \"Generate token\" and save the generated token securely\n\n## Tools\n\n### Search Repositories\nSearch for GitHub repositories using various criteria.\n\n**Parameters:**\n- query: Search query string\n- sort: Sort field (stars, forks, updated, etc.)\n- order: Sort order (asc or desc)\n- max_results: Maximum number of results to return (default: 10)\n\n### Create Issue\nCreate a new GitHub issue in a specified repository.\n\n**Parameters:**\n- owner: Repository owner\n- repo: Repository name\n- title: Issue title\n- body: Issue description\n- labels: List of labels to apply\n- assignees: List of assignee usernames\n\n### Create Pull Request\nCreate a new pull request.\n\n**Parameters:**\n- owner: Repository owner\n- repo: Repository name\n- title: PR title\n- body: PR description\n- head: Source branch\n- base: Target branch\n- draft: Whether to create as draft PR\n\n### Manage Repository Settings\nUpdate repository settings and configurations.\n\n**Parameters:**\n- owner: Repository owner\n- repo: Repository name\n- settings: Dictionary of settings to update\n\n### Search Issues\nSearch for issues across repositories.\n\n**Parameters:**\n- query: Search query string\n- state: Issue state (open, closed, all)\n- sort: Sort field\n- order: Sort order\n- max_results: Maximum number of results\n\n### Manage Workflows\nManage GitHub Actions workflows.\n\n**Parameters:**\n- owner: Repository owner\n- repo: Repository name\n- workflow_file: Workflow file path\n- action: Action to perform (enable, disable, trigger)\n\n### Manage Collaborators\nManage repository collaborators.\n\n**Parameters:**\n- owner: Repository owner\n- repo: Repository name\n- username: Collaborator username\n- permission: Permission level (pull, push, admin, maintain, triage)\n\n## Example Usage\n\n```python\n# Search for repositories\nsearch_repos(query=\"python web framework\", sort=\"stars\", max_results=5)\n\n# Create a new issue\ncreate_issue(\n    owner=\"username\",\n    repo=\"repository\",\n    title=\"Bug: Login not working\",\n    body=\"Users cannot log in using the login button\",\n    labels=[\"bug\", \"high-priority\"]\n)\n\n# Create a pull request\ncreate_pull_request(\n    owner=\"username\",\n    repo=\"repository\",\n    title=\"Feature: Add user authentication\",\n    body=\"Implements JWT-based authentication\",\n    head=\"feature/auth\",\n    base=\"main\"\n)\n\n# Search for issues\nsearch_issues(query=\"is:open is:issue author:username\", max_results=10)\n\n# Manage repository settings\nmanage_repo_settings(\n    owner=\"username\",\n    repo=\"repository\",\n    settings={\n        \"has_issues\": True,\n        \"has_projects\": True,\n        \"has_wiki\": True\n    }\n)\n```\n\n## Development\n\n### Running Tests\n```bash\n# Run all tests\npython -m pytest\n\n# Run with coverage\npython -m pytest --cov=src tests/\n\n# Run specific test file\npython -m pytest tests/test_search_repos.py\n```\n\n### Adding New Tools\n1. Create a new file in `src/tools/`\n2. Implement your tool function\n3. Register the tool in `src/main.py`\n4. Add tests in `tests/`\n5. Update documentation in README.md\n\n### Contributing\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Run tests\n5. Submit a pull request\n\n## License\nMIT License ","funding_links":[],"categories":["Development Tools MCP Servers"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnzenitram%2Fgithub-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnzenitram%2Fgithub-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnzenitram%2Fgithub-mcp/lists"}