Documentation
¶
Overview ¶
GitHub REST API client. Calls authenticate using the keyfile-supplied classic PAT via HTTPS Basic auth (username:PAT). API responses are returned as decoded structs for the typed tools, and as raw json.RawMessage for the github.api escape hatch.
Command nexus-github-mcp bridges GitHub's REST API to stdio MCP. One process == one aspect's GitHub identity. Credentials come from the keyfile's `github` block (username, email, PAT, default_org).
The aspect-side keyfile is the single source of truth — no broker fetch, no env var coupling, no host-shared `gh` auth. Each aspect's commits and PRs are attributed to their own GitHub identity.
Tools exposed (v1):
github.pr_create — open a PR github.pr_view — fetch a PR's metadata github.pr_list — list PRs in a repo (state + filter) github.pr_merge — squash-merge a PR github.pr_checks — list CI check results on a PR github.pr_diff — fetch a PR's diff github.issue_create — open an issue github.issue_view — fetch an issue github.issue_list — list issues github.run_view — fetch a workflow run github.api — escape hatch for arbitrary REST calls
All calls authenticate with the keyfile-supplied PAT using HTTPS Basic auth (username + PAT). PAT scopes expected: `repo`, `workflow`, `read:org`.
MCP tool registration. Each tool is a thin adapter that maps the MCP CallToolRequest arguments to a client method call and returns the result as JSON text.