GitHub
Overview
Section titled “Overview”The GitHub integration connects your GitHub repositories to Monday Morning, enabling bidirectional issue sync and pull request linking. When configured, an agent can pull GitHub issues into Monday Morning’s issue tracker and link PRs directly to spec tasks — keeping your project records in sync with your development workflow.
Tool Group
Section titled “Tool Group”mm_sync_github belongs to the opt-in imports tool group. It is not listed in the agent’s tool catalog until you opt in via the Monday Morning server entry in .mcp.json:
"env": { "MM_TOOL_GROUPS": "imports" }The tool still dispatches by name even when not listed — opting in only makes it visible in tools/list. PR linking uses mm_link, a core universal verb that is always listed.
Prerequisites
Section titled “Prerequisites”- A GitHub account with access to the target repository
- A Personal Access Token (classic) with
repoandread:orgscopes, or an authenticatedghCLI - Monday Morning MCP server running in your AI coding tool
Step 1: Generate a Personal Access Token
Section titled “Step 1: Generate a Personal Access Token”- Go to github.com/settings/tokens/new
- Give the token a descriptive name (e.g., “Monday Morning”)
- Select the following scopes:
repo— full control of private repositoriesread:org— read org membership (needed for org-owned repos)
- Click Generate token and copy the value immediately — you will not see it again
If you already use the GitHub CLI, you can skip this step: the integration falls back to gh auth token.
Step 2: Configure in Monday Morning
Section titled “Step 2: Configure in Monday Morning”The token is resolved in this order:
- The bridge file
.mm/integrations/github.json(written by the desktop app) - The
GITHUB_TOKENenvironment variable gh auth tokenfrom the GitHub CLI
In the desktop app, open Settings → Integrations → GitHub — an inline expandable row where you authenticate and pick the repository this project tracks. There is no separate connect modal; the whole flow runs inside the settings row. The chosen repo is saved as integrations.github.repo in .mm/config.json (also settable via mm_configure_integration).
Alternatively, set the environment variable in your shell profile:
export GITHUB_TOKEN="ghp_your_token_here"Step 3: Verify the Connection
Section titled “Step 3: Verify the Connection”Ask your agent to sync GitHub issues:
Sync my GitHub issues for this projectThe agent will call mm_sync_github with a pull direction. If configured correctly, you will see issues from your repository appear in .mm/issues/.
Available Tools
Section titled “Available Tools”| Tool | Description |
|---|---|
mm_sync_github | Sync issues bidirectionally between GitHub and Monday Morning. Supports pull, push, or both directions. Opt-in imports group. |
mm_link with entity: "github_pr" | Annotate a spec task with a GitHub pull request reference. Core universal verb, always listed. |
The old mm_link_github_pr name is deprecated — it still dispatches for backward compatibility, but new work should call mm_link with entity: "github_pr".
Common Workflows
Section titled “Common Workflows”Pull issues from GitHub into Monday Morning
Section titled “Pull issues from GitHub into Monday Morning”Pull all open GitHub issues into this projectThe agent calls mm_sync_github with direction: "pull", creating corresponding issue files in .mm/issues/.
Link a PR to a spec task
Section titled “Link a PR to a spec task”Link PR #42 to the "Add dark mode" task in the 2026-03-15-dark-mode specThe agent calls mm_link with entity: "github_pr", which annotates the matching task in the spec with the PR reference and its live status.
Push Monday Morning issues back to GitHub
Section titled “Push Monday Morning issues back to GitHub”Push my local issues to GitHubThe agent calls mm_sync_github with direction: "push", creating GitHub issues from your .mm/issues/ files.
Troubleshooting
Section titled “Troubleshooting”“Bad credentials” error
Your token is expired or invalid. Generate a new one at github.com/settings/tokens, or re-authenticate with gh auth login.
“Not Found” when syncing a private repo
Ensure your token has the repo scope. Tokens with only public_repo cannot access private repositories.
“No GitHub repo configured”
The project has no repository set. Pick one in Settings → Integrations → GitHub, or set integrations.github.repo via mm_configure_integration.
The agent says it can’t see mm_sync_github
The imports group is not opted in. Add "MM_TOOL_GROUPS": "imports" to the server’s env in .mcp.json — or just ask the agent to call the tool by its exact name; delisted tools still dispatch.
Rate limiting GitHub allows 5,000 API requests per hour for authenticated users. If you hit the limit, wait for the reset window or reduce sync frequency.