Jira connector
Two flavours: Atlassian OAuth (recommended — one consent also installs Confluence) and email + API token (manual). Both power the live MCP tools (jira_list_projects, jira_search_issues, jira_get_issue, jira_diagnose) and can index a project into the knowledge corpus as jira_project.
Option A — Atlassian OAuth (recommended)
- In the OrgMCP admin console, open Connectors → Add → Jira (or Confluence — the same start URL fans out into both connector rows).
- Click Connect to Atlassian. Approve the read scopes (Jira work/user + Confluence content/space +
offline_accessfor refresh). - Atlassian redirects to
/api/oauth-tenant/atlassian/callback. We persist the token blob (including refresh token + client id/secret so refresh works without a second config lookup) and bounce you back to the connectors UI with both Jira and Confluence rows. - On the connector's Sources tab, pick the projects to index as knowledge sources.
Ops note: the Atlassian 3LO app must list the tenant callback for each environment — e.g. https://staging.app.orgmcp.io/api/oauth-tenant/atlassian/callback and https://app.orgmcp.io/api/oauth-tenant/atlassian/callback. Platform ATLASSIAN_OAUTH_* is live on staging and production (Connect CTA is enabled). Sharing must stay on (private 3LO apps are installable only by the app owner). Operator checklist: docs/RUN-atlassian-oauth.md.
Rotation: access tokens expire in ~60 minutes. Atlassian issues arotating refresh token — we persist the new pair onto both the Jira and Confluence rows and serialize parallel refreshes. Reconnect only if refresh still fails after that (revoked grant, not a race).
Option B — Email + API token
- Create an Atlassian API token for the account that should browse projects, then paste Host (e.g.
https://acme.atlassian.net), email, and token in Connectors → Add → Jira. - Click Test connection. A green result requires at least one visible project; zero projects fails with a clear message (use
jira_diagnose/ the diagnostics panel for host + project count).
What gets indexed
- Issues in each selected project (summary + description as text), plus up to 40 issue comments appended into the same document (oldest first). Optionally filtered by status category (
new/indeterminate/done), lookback days, and optional issue types (e.g.Incident,Service Request). Jira Service Management is the same connector — pick the JSM project and filter by issue type; there is no separate kind. - Incremental cursor: after a successful sync we store the newest issue
updatedtimestamp as ISO and render it as Jira JQLyyyy-MM-dd HH:mmon the next crawl (ISOT/Zmatches nothing). A quiet incremental tick keeps the existing index. Sync now ignores the cursor and re-walks the project.
What does not get indexed
- Attachments and worklogs (binary / high-volume — not in RAG yet).
- Projects the credential cannot see. Diagnose surfaces the visible count; Test fails at zero.
Honesty surface
jira_diagnose/ admin Test — mode, host, visible project count, sample keys. Zero projects ⇒ test fails.- List tools paginate with
pageToken/nextPageToken. - Partial syncs at the issue cap write a warning; empty crawls write a precise
emptyReason.
See also Confluence connector (same Atlassian grant) and the canonical matrix in the operator docs (docs/ARCH-connector-capabilities.md).