GitHub Repository Operations
github
GitHub repository, issue, pull-request, and Actions operations via the official GitHub MCP server.
- Installs
- 30.7k
- Namespace
- github
- Version
- >=2025.0.0 <2026.0.0
- Last attach
- reviewed1 months ago
- Reliability
- 100% uptime (30d)· validated 2026-06-27
Add to your mcp.json
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>"
}
}
}
}Attach in a FrootAI play (fai-manifest)
mcp_scope:
attached:
- githubAuthentication
set GITHUB_PERSONAL_ACCESS_TOKEN to a personal access token; fine-grained tokens scoped to the target repos are preferred over classic. CI may pass the Actions `github.token` as GITHUB_PERSONAL_ACCESS_TOKEN.
Required credential: GITHUB_PERSONAL_ACCESS_TOKEN
Environment variables
| Variable | Required | Auth mode | Description |
|---|---|---|---|
| GITHUB_PERSONAL_ACCESS_TOKEN | yes | pat | GitHub personal access token (classic or fine-grained) — the token env name the reference MCP server reads. Scopes the operations the server can perform; pass via env, never inline in args (doctrine #6). |
| GITHUB_TOKEN | no | pat | Alternate token env name (e.g. CI `github.token`); use either GITHUB_PERSONAL_ACCESS_TOKEN or GITHUB_TOKEN. |
| GITHUB_PAT | no | pat | Alternate token env name accepted by the server. |
Sample tools
github.search_repositoriesSearch repositories by query.
github.get_file_contentsRead a file from a repository.
github.list_issuesList issues on a repository.
github.create_issueOpen a new issue.
github.list_pull_requestsList pull requests on a repository.
Used in recipes
FAI cookbook recipes that attach github.
- Recipe 19: Attach MCP to an Agent
- Recipe 20: Author a Play with MCP Scope
- Recipe 22: Trust Override Walkthrough
- Recipe 28: Browser Screenshot to Bug Report (Playwright + Markitdown + GitHub)
- Recipe 30: Notion Doc Update on PR (GitHub + Notion + Stripe)
- Recipe 37: RAG from a GitHub Repo (GitHub + Markitdown + Azure AI Search)
Destructive-action audit
2 destructive tools — confirm per call
Each runs only when the trust policy allows it; under allowDestructive: false they prompt per call.
- github.delete_branch
- github.delete_file
Destructive-action audit (X2.18): branch/file deletion tools are flagged in `destructive_tools` and are blocked when the trust policy sets `allowDestructive: false`.
Known limitations
- Requires a valid GITHUB_TOKEN; without it the server attaches but all repo-scoped tools return an auth error.
- Tool capabilities are bounded by the token's scopes — a read-only token cannot create issues or PRs.
Spec contributors
Maintainers who landed commits onmcp-specs/github.json.
- pspsbali
Freshness
When this spec was last reviewed by a maintainer and last machine-validated against the live server.
- Spec last reviewed
- 1 months ago(2026-06-25)
- Auto-validated
- never