View as Markdown

Jira Integration

Manage Jira issues, projects, sprints, and boards

The Jira integration provides access to manage Jira issues, projects, sprints, and boards through the Integrate MCP server.

Installation

The Jira integration is included with the SDK:

import { jiraIntegration } from "integrate-sdk/server";

Setup

1. Create a Jira OAuth App

  1. Go to Auth Developer Portal
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Jira integration to your server configuration. The integration automatically reads JIRA_CLIENT_ID and JIRA_CLIENT_SECRET from your environment variables:

import { createMCPServer, jiraIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    jiraIntegration({
      scopes: ["read:jira-work", "write:jira-work", "read:account", "offline_access"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

jiraIntegration({
  clientId: process.env.CUSTOM_JIRA_ID,
  clientSecret: process.env.CUSTOM_JIRA_SECRET,
      scopes: ["read:jira-work", "write:jira-work", "read:account", "offline_access"], // Optional
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("jira");
const result = await client.jira.listProjects({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, jiraIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [jiraIntegration()],
});

Configuration Options

export interface JiraIntegrationConfig {
  /** Jira OAuth client ID (defaults to JIRA_CLIENT_ID env var) */
  clientId?: string;

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • read:jira-work
  • write:jira-work
  • read:account
  • offline_access

Tools

jira_list_projects

List projects

export interface JiraListProjectsParams { startAt?: number;

jira_get_project

Get project

export interface JiraGetProjectParams { project_key: string }

jira_get_issue_types

Get issue types

export interface JiraGetIssueTypesParams { project_key: string }

jira_search_issues

Search issues

export interface JiraSearchIssuesParams { jql: string;

jira_get_issue

Get issue

export interface JiraGetIssueParams { issue_key: string;

jira_create_issue

Create issue

export interface JiraCreateIssueParams { project_key: string;

jira_update_issue

Update issue

export interface JiraUpdateIssueParams { issue_key: string;

jira_get_transitions

Get transitions

export interface JiraGetTransitionsParams { issue_key: string }

jira_transition_issue

Transition issue

export interface JiraTransitionIssueParams { issue_key: string;

jira_add_comment

Add comment

export interface JiraAddCommentParams { issue_key: string;

jira_assign_issue

Assign issue

export interface JiraAssignIssueParams { issue_key: string;

jira_list_boards

List boards

export interface JiraListBoardsParams { projectKeyOrId?: string;

jira_list_sprints

List sprints

export interface JiraListSprintsParams { board_id: number;

Notes

  • Category: Engineering
  • Authentication mode: OAuth