Jira Integration for AI Agents

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Jira MCP or direct API to create issues, update tickets, assign work, and manage agile boards through natural language.
Jira Logo
Gradient Top
Gradient Middle
Gradient Bottom
divider

Supported Tools and Triggers

Tools
Triggers
Add AttachmentUploads and attaches a file to a jira issue.
Add CommentAdds a comment using atlassian document format (adf) for rich text to an existing jira issue.
Add Watcher to IssueAdds a user to an issue's watcher list by account id.
Assign IssueAssigns a jira issue to a user, default assignee, or unassigns; supports email/name lookup.
Bulk Create IssuesCreates multiple jira issues (up to 50 per call) with full feature support including markdown, assignee resolution, and priority handling.
Create IssueCreates a new jira issue (e.
Link IssuesLinks two jira issues using a specified link type with optional comment.
Create ProjectCreates a new jira project with required lead, template, and type configuration.
Create SprintCreates a new sprint on a jira board with optional start/end dates and goal.
Create VersionCreates a new version for releases or milestones in a jira project.
Delete CommentDeletes a specific comment from a jira issue using its id and the issue's id/key; requires user permission to delete comments on the issue.
Delete IssueDeletes a jira issue by its id or key.
Delete VersionDeletes a jira version and optionally reassigns its issues.
Delete WorklogDeletes a worklog from a jira issue with estimate adjustment options.
Edit IssueUpdates an existing jira issue with field values and operations.
Find UsersSearches for jira users by email, display name, or username to find account ids; essential for assigning issues, adding watchers, and other user-related operations.
Get All Issue Type SchemesRetrieves all jira issue type schemes with optional filtering and pagination.
Get all projectsRetrieves all visible projects using the modern paginated jira api with server-side filtering and pagination support.
Get Issue StatusesRetrieves all available issue statuses from jira with details.
Get All UsersRetrieves all users from the jira instance including active, inactive, and other user states with pagination support.
Get CommentRetrieves a specific comment by id from a jira issue with optional expansions.
Get Current UserRetrieves detailed information about the currently authenticated jira user.
Get IssueRetrieves a jira issue by id or key with customizable fields and expansions.
Get Issue Link TypesRetrieves all configured issue link types from jira.
Get Issue PropertyRetrieves a custom property from a jira issue by key.
Get Issue ResolutionsRetrieves all available issue resolution types from jira.
Get issue typesRetrieves all jira issue types available to the user using the modern api v3 endpoint; results vary based on 'administer jira' global or 'browse projects' project permissions.
Get Issue Type SchemeGets a jira issue type scheme by id with all associated issue types.
Get Issue WatchersRetrieves users watching a jira issue for update notifications.
Get Issue WorklogsRetrieves worklogs for a jira issue with user permission checks.
Get Project VersionsRetrieves all versions for a jira project with optional expansion.
Get Issue Remote LinksRetrieves links from a jira issue to external resources.
Get TransitionsRetrieves available workflow transitions for a jira issue.
Get Issue VotesFetches voting details for a jira issue; requires voting to be enabled in jira's general settings.
Get WorklogsRetrieves worklogs for a specified jira issue.
List BoardsRetrieves paginated jira boards with filtering and sorting options.
List Issue CommentsRetrieves paginated comments from a jira issue with optional ordering.
List SprintsRetrieves paginated sprints from a jira board with optional state filtering.
Move Issues to SprintMoves one or more jira issues to a specified active sprint.
Remove Watcher from IssueRemoves a user from an issue's watcher list by account id.
Search Issues Using JQL (GET)Searches for jira issues using jql with pagination and field selection.
Search Issues Using JQL (POST)Searches for jira issues using jql via post request for complex queries; ideal for lengthy jql queries that might exceed url character limits
Search issuesAdvanced jira issue search supporting structured filters and raw jql.
Send Notification for IssueSends a customized email notification for a jira issue.
Transition IssueTransitions a jira issue to a different workflow state, with support for transition name lookup and user assignment by email.
Update CommentUpdates text content or visibility of an existing jira comment.

Connect Jira MCP Tool with your Agent

Python
TypeScript

Install Composio

python
pip install composio claude-agent-sdk
Install the Composio SDK and Claude Agent SDK

Create Tool Router Session

python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
Initialize the Composio client and create a Tool Router session

Connect to AI Agent

python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Jira tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Create a new Jira issue in the PROJECTX project titled "Login bug" with description "Users can\'t sign in after recent update."')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
Use the MCP server with your AI agent

Connect Jira API Tool with your Agent

Python
TypeScript

Install Composio

python
pip install composio_openai
Install the Composio SDK

Initialize Composio and Create Tool Router Session

python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
Import and initialize Composio client, then create a Tool Router session

Execute Jira Tools via Tool Router with Your Agent

python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'Create a new bug issue in the Mobile App project'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
Get tools from Tool Router session and execute Jira actions with your Agent

Why Use Composio?

AI Native Jira Integration

  • Supports both Jira MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Jira data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Jira access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Jira
  • Scoped, least privilege access to Jira resources
  • Full audit trail of agent actions to support review and compliance

Frequently Asked Questions

Do I need my own developer credentials to use Jira with Composio?

Yes, Jira requires you to configure your own OAuth credentials. Once set up, Composio handles token storage, refresh, and lifecycle management for you.

Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. Learn more.

What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

Used by agents from

Context
ASU
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
ASU
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
ASU
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai

Never worry about agent reliability

We handle tool reliability, observability, and security so you never have to second-guess an agent action.