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
- Go to Auth Developer Portal
- Create a new OAuth application
- Configure your redirect URI
- 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-workwrite:jira-workread:accountoffline_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