@mcp-monorepo/jira
v1.4.0
Published
MCP server for Jira tools (JQL, issue management, etc.).
Readme
@mcp-monorepo/jira
MCP server for Jira tools (JQL, issue management, etc.).
This package provides a set of tools for interacting with a Jira instance. It allows language models to search, retrieve, and update Jira issues, as well as query project and user information.
Key Features
- JQL Search: Execute complex Jira Query Language (JQL) strings to find specific sets of issues.
- Issue Management: Fetch detailed information for a single issue and update its status by transitioning it through its workflow.
- Discovery: List available status transitions for an issue and find recently created projects.
- User Information: Retrieve the profile details of the currently authenticated user.
Authentication
Two authentication modes are supported. Exactly one must be configured:
- Personal Access Token (PAT): Set
JIRA_TOKENwith a valid Jira PAT. - Cookie-based authentication: Set
JIRA_COOKIEwith the raw Cookie header value from an authenticated Jira session.
Usage
You can run this MCP server directly using npx for local testing:
npx @mcp-monorepo/jira@latestTo integrate this server with a compatible AI model (like Claude), provide the following MCP server configuration:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": [
"-y",
"@mcp-monorepo/jira"
],
"env": {
"JIRA_BASE_URL": "<Your JIRA_BASE_URL Here>",
"JIRA_TOKEN": "<Your JIRA_TOKEN Here>",
"JIRA_COOKIE": "<Your JIRA_COOKIE Here>",
"JIRA_API_VERSION": "2",
"JIRA_INSECURE_SKIP_VERIFY": "false"
}
}
}
}Environment Variables
| Variable | Description | Default |
| :--- | :--- | :--- |
| JIRA_BASE_URL | The base URL for your Jira instance (e.g., https://your-company.atlassian.net). | <required> |
| JIRA_TOKEN | A Jira Personal Access Token (PAT) with appropriate permissions to read and modify issues. Exactly one of JIRA_TOKEN or JIRA_COOKIE must be set. | <optional> |
| JIRA_COOKIE | A Jira session cookie value (e.g., the full Cookie header string). Useful for environments where a PAT is not available. Exactly one of JIRA_TOKEN or JIRA_COOKIE must be set. | <optional> |
| JIRA_API_VERSION | The Jira REST API version to use: '2' (default) or '3'. API v3 includes: (1) Issue descriptions in Atlassian Document Format (ADF) which are automatically converted to Markdown, (2) User emailAddress may be null due to GDPR privacy settings, (3) Enhanced JQL search endpoint with nextPageToken-based pagination for better performance with large result sets. Use v3 to access newer features and ADF support for rich text formatting in issue descriptions. | 2 |
| JIRA_INSECURE_SKIP_VERIFY | Set to 'true' to disable TLS certificate validation. Use with caution, as this is a security risk. Recommended only for self-hosted Jira instances with self-signed certificates. | false |
Tools
get-current-profile
Get Current Jira Profile - Get information about the current authenticated Jira user.
Input Schema
This tool has no defined input schema.
execute-jql
Execute Jira JQL - Execute a Jira Query Language (JQL) search and return issues. In API v3, uses enhanced search with nextPageToken pagination. In API v2, uses legacy search with startAt pagination.
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| jql | string | JQL query string |
| maxResults | integer | Maximum number of results to return (default: 50) |
| startAt | integer | Index of first result for pagination (v2 only, default: 0) |
| nextPageToken | string | Token for next page of results (v3 only) |
| fields | array of string | Fields to include in results (default: [summary, status, assignee]) |
get-latest-projects
Get Latest Jira Projects - Retrieve the most recently created Jira projects visible to the current user.
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| maxResults | integer | Maximum number of projects to return (default: 10) |
get-issue
Get Jira Issue - Fetch a Jira issue and its details by key or ID.
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| issueIdOrKey | string | Jira issue key or numeric ID |
| fields | array of string | Fields to include in response (default: all available) |
| expand | array of string | Fields to expand (e.g., comments, changelog) |
set-issue-status
Set Jira Issue Status - Transition a Jira issue to a new status by status name or transition ID.
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| issueIdOrKey | string | Jira issue key or numeric ID |
| status | string | Target status name (e.g., Done, In Progress, To Do) |
| transitionId | string | Transition ID (if known; takes precedence over status name) |
| comment | string | Comment to add with the transition |
get-ticket-transitions
Get Jira Ticket Transitions - List all possible status transitions for a given Jira issue (name and ID).
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| issueIdOrKey | string | Jira issue key or numeric ID |
get-create-metadata
Get Jira Create Issue Metadata - Get metadata about fields required to create issues in a project. Returns issue types, priorities, and field requirements. Use this to find valid issueTypeId and priorityId values for creating issues.
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| projectKey | string | Filter by project key (e.g., "PROJ") |
| issueTypeId | string | Filter by specific issue type ID |
create-issue
Create Jira Issue - Create a new Jira issue. Use get-create-metadata to find valid issueTypeId and priorityId values for your project.
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| projectKey | string | Project key (e.g., "PROJ") |
| issueTypeId | string | Issue type ID (use get-create-metadata to find valid IDs) |
| summary | string | Issue title/summary |
| description | string | Issue description (supports Markdown formatting in API v3, plain text in v2) |
| assigneeId | string | Assignee account ID (leave empty for unassigned) |
| priorityId | string | Priority ID (use get-create-metadata to find valid IDs) |
| labels | array of string | Labels for the issue |
| parentKey | string | Parent issue key (required for creating subtasks) |
update-issue
Update Jira Issue - Update fields of an existing Jira issue. Only provided fields will be updated, others remain unchanged.
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| issueIdOrKey | string | Issue key or ID (e.g., "PROJ-123") |
| summary | string | New issue title/summary |
| description | string | New description (supports Markdown formatting in API v3, plain text in v2) |
| assigneeId | any | Assignee account ID (null to unassign, undefined to leave unchanged) |
| priorityId | string | New priority ID |
| labels | array of string | New labels (replaces existing labels) |
add-comment
Add Comment to Jira Issue - Add a comment to an existing Jira issue.
Input Schema
| Property | Type | Description |
| :--- | :--- | :--- |
| issueIdOrKey | string | Issue key or ID (e.g., "PROJ-123") |
| comment | string | Comment text (supports Markdown formatting in API v3, plain text in v2) |
| visibility | object | Restrict comment visibility to a specific role or group (optional) |
| visibility.type | string | Visibility type: role or group |
| visibility.value | string | Role name or group name |
Other MCP Servers
This monorepo contains several other MCP server packages available on npm. Each provides a distinct set of tools for use with the Model Context Protocol.
- @mcp-monorepo/confluence: MCP server for Confluence API tools
- @mcp-monorepo/file-browser: MCP server for file system browsing and manipulation (search, ls, tree, grep, open, write, move, mkdir)
- @mcp-monorepo/ics: MCP server for calendar tools using ICS/ical feeds
- @mcp-monorepo/location: MCP server for location-based tools using IP address lookup
- @mcp-monorepo/mail: MCP server for mail tools (fetch, read, search, mark as seen).
- @mcp-monorepo/maps: MCP server providing geospatial tools powered by the Stadia Maps API.
- @mcp-monorepo/notion-query: MCP server for querying Notion data sources.
- @mcp-monorepo/npm: MCP server for npm command tools (run scripts, install packages, list scripts)
- @mcp-monorepo/slack: Slack MCP to access workspace without bot account or app
- @mcp-monorepo/weather: Weather MCP tools (geocoding, weather-by-coords) for ModelContextProtocol.
Recent Changes
Version 1.3.0
- 397cff4: add cookie-based authentication and require exactly one of JIRA_TOKEN or JIRA_COOKIE
Version 1.2.0
- 7f6ee0a: generate READMEs for packages via MCP introspection, add docgen and scripts, bump zod to v4 with schema fixes, improve syslog/logger graceful shutdown
Version 1.1.3
- fd22b00: Fixed yarn versioning during publish
Authors
- The MCP Monorepo Team
License
This project is licensed under the AGPL-3.0-only License. See the LICENSE file for details.
