mcp-github
Github MCP Server
Documentation
GitHub MCP Server
MCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.
Mission Squad modifications
- github pat is now dynamic per request and does not have to be included via environment variables, but still falls back to environment variables.
- name: mcp-github
Features
- Automatic Branch Creation: When creating/updating files or pushing changes, branches are automatically created if they don't exist
- Comprehensive Error Handling: Clear error messages for common issues
- Git History Preservation: Operations maintain proper Git history without force pushing
- Batch Operations: Support for both single-file and multi-file operations
- Advanced Search: Support for searching code, issues/PRs, and users
Tools
1. `create_or_update_file`
2. `push_files`
3. `search_repositories`
4. `create_repository`
5. `get_file_contents`
6. `create_issue`
7. `create_pull_request`
8. `fork_repository`
9. `create_branch`
10. `list_issues`
11. `update_issue`
12. `add_issue_comment`
13. `search_code`
14. `search_issues`
15. `search_users`
16. `list_commits`
17. `get_issue`
18. `get_pull_request`
19. `list_pull_requests`
20. `create_pull_request_review`
21. `merge_pull_request`
22. `get_pull_request_files`
23. `get_pull_request_status`
24. `update_pull_request_branch`
25. `get_pull_request_comments`
26. `get_pull_request_reviews`
Webhook Tools
This server now supports the full repository and organization webhook REST surface that is available with the existing `github_pat` auth model.
Repository webhook tools
- `list_repository_webhooks`
- `get_repository_webhook`
- `create_repository_webhook`
- `update_repository_webhook`
- `delete_repository_webhook`
- `get_repository_webhook_config`
- `update_repository_webhook_config`
- `ping_repository_webhook`
- `list_repository_webhook_deliveries`
- `get_repository_webhook_delivery`
- `redeliver_repository_webhook_delivery`
Organization webhook tools
- `list_organization_webhooks`
- `get_organization_webhook`
- `create_organization_webhook`
- `update_organization_webhook`
- `delete_organization_webhook`
- `get_organization_webhook_config`
- `update_organization_webhook_config`
- `ping_organization_webhook`
- `list_organization_webhook_deliveries`
- `get_organization_webhook_delivery`
- `redeliver_organization_webhook_delivery`
Permissions
Repository webhooks:
- Classic PATs typically need `admin:repo_hook` (or broader `repo`) to create, edit, delete, ping, or redeliver.
- Fine-grained PATs need repository `Webhooks` permission with `read` for list/get and `write` for create/update/delete/ping/redelivery.
Organization webhooks:
- Classic PATs need `admin:org_hook`.
- Fine-grained PATs need organization `Webhooks` permission with `read` for list/get and `write` for create/update/delete/ping/redelivery.
Usage notes
- Create and update webhook tools hardcode `name: "web"` internally, which is what GitHub requires.
- Repository webhook config supports `url`, `content_type`, `secret`, and `insecure_ssl`.
- Organization webhook config supports those fields plus optional `username` and `password` for basic auth.
- GitHub strongly recommends setting a webhook `secret` and validating delivery signatures on the receiving service.
- `insecure_ssl: "1"` disables certificate verification and is discouraged.
Debugging flow
- Use `ping_*_webhook` to trigger a test delivery after create or update.
- Use `list_*_webhook_deliveries` to inspect recent attempts.
- Use `get_*_webhook_delivery` to inspect the request payload, headers, and GitHub's captured response.
- Use `redeliver_*_webhook_delivery` to replay a failed or stale delivery.
Out of scope
- This server does not implement an inbound HTTP receiver for webhook deliveries.
- This server does not perform delivery signature validation for your webhook endpoint.
- GitHub App webhook endpoints are not included in this phase because those APIs require JWT-based app authentication rather than a PAT.
Search Query Syntax
Code Search
- `language:javascript`: Search by programming language
- `repo:owner/name`: Search in specific repository
- `path:app/src`: Search in specific path
- `extension:js`: Search by file extension
- Example: `q: "import express" language:typescript path:src/`
Issues Search
- `is:issue` or `is:pr`: Filter by type
- `is:open` or `is:closed`: Filter by state
- `label:bug`: Search by label
- `author:username`: Search by author
- Example: `q: "memory leak" is:issue is:open label:bug`
Users Search
- `type:user` or `type:org`: Filter by account type
- `followers:>1000`: Filter by followers
- `location:London`: Search by location
- Example: `q: "fullstack developer" location:London followers:>100`
For detailed search syntax, see GitHub's searching documentation.
Setup
Personal Access Token
Create a GitHub Personal Access Token with appropriate permissions:
Usage with Claude Desktop
To use this with Claude Desktop, add the following to your `claude_desktop_config.json`:
Docker
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"mcp/github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": ""
}
}
}
}NPX
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": ""
}
}
}
}Build
Docker build:
docker build -t mcp/github -f src/github/Dockerfile .License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Frequently asked questions
What is mcp-github?
mcp-github is Github MCP Server
How do I install mcp-github?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp-github open source?
Yes — it is hosted on GitHub at https://github.com/MissionSquad/mcp-github and has 10 stars.
Related MCP tools
Model Context Protocol Servers
The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra
A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
MCP server to provide Figma layout information to AI coding agents like Cursor
The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams — everything you need to ship apps your users will love.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP