Integrations
Monday Morning integrates with external tools through its plugin system. Each integration adds MCP tools that your agents can use during sessions, bringing external context — issues, meetings, messages, tracked time — into the same .mm/ workspace your specs and tasks live in.
Available Integrations
Section titled “Available Integrations”| Integration | What it does | Credentials |
|---|---|---|
| GitHub | Sync issues, link PRs to spec tasks | Personal Access Token (or gh CLI auth) |
| Slack | Ingest channel messages into the project inbox; post updates and digests | Bot token via OAuth (“Connect with Slack”) or pasted manually |
| Trello | One-time import of boards and cards, plus ongoing sync | API Key + API Token |
| Harvest | Time tracking, budgets, profitability, utilization | Personal Access Token + Account ID |
| Grain | Import meeting transcripts, extract action items | API Token |
| Google Calendar | Calendar context for the desktop app (no MCP tools) | OAuth |
| Notion | mm_sync_notion sync (core tool) | API token |
| Obsidian | One-time vault migration via mm_migrate_obsidian | None (local files) |
| Design Tokens | mm_get_design_tokens for Figma/design workflows (core tool) | None |
| Voice Assistant | Voice input tools (voice tool group) | None — Pro tier |
Notion, Obsidian, and Design Tokens are currently shelved from the Plugins settings section — their tools still load and dispatch, but the plugins do not appear in the desktop UI.
Tool Listing: Core Catalog and Opt-in Groups
Section titled “Tool Listing: Core Catalog and Opt-in Groups”The MCP server lists a lean core catalog by default: the 13 universal verbs (mm_create, mm_list, mm_get, mm_update, mm_complete, mm_link, mm_move, mm_archive, mm_verify, mm_record, mm_search, mm_order_specs, mm_index) plus the tools bundled commands reference — including mm_configure_integration and mm_sync_notion.
Most integration tools live in opt-in long-tail groups and are delisted until you opt their group in via the MM_TOOL_GROUPS environment variable (comma-separated group names, or all) on the Monday Morning server entry in .mcp.json:
"env": { "MM_TOOL_GROUPS": "harvest,slack" }The integration groups are harvest, slack, trello, and imports (GitHub sync, Grain imports, Obsidian migration, skill import), plus voice, docs, team, handoff, and workflow.
Delisted is not disabled. Every tool still dispatches when called by name — opting in only controls whether the tool’s definition appears in the agent’s tool list. Each integration page states its group near the top of its setup section.
In the App: Plugins vs. Integrations
Section titled “In the App: Plugins vs. Integrations”Settings is a stage takeover in the desktop app, and integrations span two of its sections:
- Settings → Plugins — first-party integrations (GitHub, Slack), one-time imports (Import from Trello), and the plugin registry. Installed registry plugins get an inline Configure control that renders the plugin’s settings form — credentials, global config, and per-project config — right in the section. No modals.
- Settings → Integrations — per-project connection surfaces: GitHub authentication and repo pick, Trello board link and list-to-lane mapping, and the Harvest project ID, each as an inline expandable row. Other enabled plugins with settings appear below with a Connected / Not connected status.
Pro-gated plugins render an upgrade prompt in place of the settings form when the effective tier is free.
Credential Storage
Section titled “Credential Storage”Credentials entered in the desktop app are saved to the system credential store. For the MCP server’s benefit, several plugins also write a bridge file per project:
.mm/integrations/github.json.mm/integrations/slack.json.mm/integrations/trello.json.mm/ is gitignored by default, so these files stay local. Resolution order varies by plugin — GitHub and Trello check the bridge file first and fall back to environment variables (GITHUB_TOKEN; TRELLO_API_KEY + TRELLO_TOKEN), Slack reads the bridge file only, and Grain reads the GRAIN_API_TOKEN environment variable. Each integration page documents its own resolution.
Project-level integration config (which repo, which board) lives in .mm/config.json under an integrations block, and can be set from the Integrations section or with the mm_configure_integration core tool.
Plugin Tiers
Section titled “Plugin Tiers”Tier gating is live. Plugins declare free or pro; pro plugins load only when the resolved tier is pro or team, or the user is on a team. An unentitled pro plugin is still listed in the app for discovery — marked locked, with an upgrade prompt — but its tools are absent from the MCP tool surface, and calls are refused with an upgrade message if entitlement is revoked mid-session. If tier resolution fails outright, gating fails open rather than silently shrinking your toolset. Voice Assistant is currently the pro-tier plugin.
Quick Setup
Section titled “Quick Setup”Each integration guide follows the same structure:
- Tool group — what
MM_TOOL_GROUPSvalue lists the tools - Prerequisites — accounts and access you need
- Setup — credential configuration
- Available Tools — the MCP tools the integration provides
- Common Workflows — typical usage patterns
- Troubleshooting — solutions to common issues
Pick an integration from the sidebar to get started.