GitHub Integration
Last updated: March 16, 2026
GitHub Integration
MD Planner integrates with GitHub for repository summaries, issue and pull
request management, and PR merging.
Setup
- Generate a GitHub Personal Access Token (PAT) with
reposcope - In MD Planner, navigate to Settings > Integrations
- Paste the PAT and save
When MDPLANNER_SECRET_KEY is set, the token is encrypted with AES-256-GCM
before being stored in project.md. Without the key, it is stored in plaintext.
Generate a secret key
mdplanner keygen-secret
# Set as MDPLANNER_SECRET_KEY environment variable
Cloudflare integration
The DNS Tracker can sync domain expiry and DNS records from Cloudflare
Registrar. Navigate to Settings > Cloudflare and paste your API token.
# Docker
environment:
- MDPLANNER_SECRET_KEY=${MDPLANNER_SECRET_KEY}
# Generate a key and add to .env
echo "MDPLANNER_SECRET_KEY=$(mdplanner keygen-secret)" >> .env
MCP tools
The GitHub integration is also available via MCP:
| Tool | Description |
|---|---|
github_list_repos |
List repositories |
github_get_repo |
Get repository summary |
github_get_issue |
Get issue details |
github_create_issue |
Create issue |
github_set_issue_state |
Open or close issue |
github_list_issues |
List issues (state, assignee) |
github_get_pr |
Get pull request details |
github_list_prs |
List pull requests (state filter) |
github_merge_pr |
Merge a pull request |
REST API
| Method | Path | Description |
|---|---|---|
GET |
/api/integrations/github/repos |
List repos |
GET |
/api/integrations/github/repo/:owner/:repo |
Get repo summary |
GET |
/api/integrations/github/repo/:owner/:repo/issues |
List issues |
GET |
/api/integrations/github/repo/:owner/:repo/issues/:n |
Get issue |
POST |
/api/integrations/github/repo/:owner/:repo/issues |
Create issue |
PATCH |
/api/integrations/github/repo/:owner/:repo/issues/:n |
Close/reopen |
GET |
/api/integrations/github/repo/:owner/:repo/pulls |
List PRs |
GET |
/api/integrations/github/repo/:owner/:repo/pulls/:n |
Get PR |
PUT |
/api/integrations/github/repo/:owner/:repo/pulls/:n/merge |
Merge PR |
GET |
/api/integrations/github/repo/:owner/:repo/releases/latest |
Latest release |
GET |
/api/integrations/github/repo/:owner/:repo/milestones |
List milestones |
GET |
/api/integrations/github/repo/:owner/:repo/actions/runs |
Workflow runs |
GitHub View
The GitHub view in the UI displays all portfolio projects linked to a GitHub
repository. Each repo row is expandable to show open issues and pull requests
inline. Issues assigned to you are highlighted. Open PRs have a merge button.
Query parameters for list endpoints:
GET .../issues?state=open|closed|all&assignee=<login>GET .../pulls?state=open|closed|allPUT .../pulls/:n/mergebody:{ "merge_method": "squash"|"merge"|"rebase" }