Connector ID:
mcp-github · Type: mcp_server · Catalog entry: src/gaia/connectors/catalog/mcp_servers.pyWhat you’ll need
The GitHub connector is an MCP server — GAIA spawns the@modelcontextprotocol/server-github
process on demand and routes tool calls through it. It needs a single
secret: a GitHub Personal Access Token (PAT) with the scopes you
want agents to use.
You will create one PAT, paste it into the GAIA Agent UI, and you’re
done. The token lives encrypted in your OS keyring; the MCP server
process reads it via a $keyring reference at launch time.
Step 1 — Create a Personal Access Token
GitHub has two PAT types. Use the classic token unless you know otherwise — fine-grained tokens don’t yet support every endpoint the MCP server uses. Follow GitHub’s instructions for creating a personal access token (classic). Use a recognizable name such asgaia-personal, choose an expiration
that fits your setup, and select the scopes below before generating the
token.
Pick scopes
The scopes you grant the token are the maximum GAIA can do. Per- agent grants further narrow it from there.
For a typical setup, include
repo and read:user. Add
workflow if you want agents to interact with Actions.
Copy the generated token for Step 2 — GitHub will not show it again.
Step 2 — Paste it into GAIA
- Launch the Agent UI:
gaia chat --ui. - Settings (gear) → Connections → click the GitHub tile.
- Paste the PAT into the GitHub Personal Access Token field.
- Click Save.
- Store the token in your OS keyring (single slot, distinct from any other connector).
- Write
~/.gaia/mcp_servers.jsonwith a$keyring:gaia.connections:mcp-github:GITHUB_PERSONAL_ACCESS_TOKENreference — the actual token never lives in plaintext on disk. - Hot-reload the MCP client manager so the GitHub tools are immediately available to agents.
Step 3 — Grant scopes to specific agents
Each agent must be granted access individually. The GitHub MCP server exposes its tools (e.g.list_issues, create_pull_request); GAIA’s
agent grants are at the MCP-tool level.
Activate the tools for the agent
For MCP servers, a grant alone isn’t enough — the agent also needs an activation before the GitHub tools appear in its prompt. Activation defaults to OFF (least-privilege), so activate it explicitly:Common issues
Bad credentials from the MCP server
The token in your keyring is wrong, expired, or revoked. Click
Disconnect on the tile and re-paste a fresh token.
Private repos are missing, or you hit the anonymous rate limit
Connections saved before GAIA passed the token asGITHUB_PERSONAL_ACCESS_TOKEN still hand it to the server under the old
name, so the server calls GitHub without it. Click Disconnect on the
tile and paste the token again, or run
gaia connectors configure mcp-github --set GITHUB_PERSONAL_ACCESS_TOKEN=ghp_….
npx: command not found
The GitHub MCP server is a Node package launched via npx. Install
Node 18+ and ensure npx is on your PATH:
Resource not accessible by personal access token
Your token doesn’t have a scope the agent is trying to use. Either
regenerate the token with broader scopes, or revoke the agent’s grant
for that tool.
Tokens for organization-owned repos
Classic PATs scoped torepo work for any repo you have push access
to, including org-owned repos. If your org enforces SSO, follow GitHub’s
instructions for authorizing a personal access token for SSO
for each organization you want the token to reach.
Revoking access
- From GAIA: Settings → Connections → GitHub → Disconnect. The
PAT is removed from the keyring and the MCP server entry is dropped
from
mcp_servers.json. - From GitHub: Follow GitHub’s instructions for deleting a personal access token to revoke the token you created for GAIA. Use this if the laptop with the keyring is lost.