Connect GitHub
project_github_connectConnect or replace a local GitHub credential through GitHub Device Flow, so users authorize at github.com and tokens stay in the encrypted vault instead of being pasted into chat.
Instructions
Connect GitHub through its Device Flow. The user authorizes at github.com; access and refresh tokens are saved in the encrypted local vault and are never returned. Use when: the user wants to connect or replace the local GitHub credential without pasting a token into chat. Avoid when: the user only needs GitHub public read access or has already configured a token. Speed: start returns a short-lived verification code; poll only at the interval GitHub specifies. Output: github_connect: start returns verification_uri, user_code, pending_id and expiry; poll returns pending, denied, expired or connected (never a token). Batch-safe: no
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "project_github_connect"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| pending_id | No | action=poll: opaque id returned by action=start; it does not contain the device code or token. | |
| replace_existing | No | action=start: 1 explicitly authorizes replacing an existing GitHub credential; 0 does not. |