@aashari/mcp-server-atlassian-jira
Version:
Node.js/TypeScript MCP server for Atlassian Jira. Equips AI systems (LLMs) with tools to list/get projects, search/get issues (using JQL/ID), and view dev info (commits, PRs). Connects AI capabilities directly into Jira project management and issue tracki
73 lines (72 loc) • 3.07 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetIssueToolArgs = exports.ListIssuesToolArgs = void 0;
const zod_1 = require("zod");
/**
* Base pagination arguments for all tools
*/
const PaginationArgs = {
limit: zod_1.z
.number()
.min(1)
.max(100)
.optional()
.describe('Maximum number of items to return (1-100). Use this to control the response size. Useful for pagination or when you only need a few results.'),
startAt: zod_1.z
.number()
.int()
.nonnegative()
.optional()
.describe('Index of the first item to return (0-based offset). Use this for pagination instead of cursor, as Jira uses offset-based pagination.'),
};
/**
* Arguments for listing Jira issues
* Includes optional filters with defaults applied in the controller
*/
const ListIssuesToolArgs = zod_1.z.object({
/**
* Standardized JQL parameter for filtering
*/
jql: zod_1.z
.string()
.optional()
.describe('Filter issues using JQL syntax. Use this for complex queries like "project = TEAM AND status = \'In Progress\'" or "assignee = currentUser()". If omitted, returns issues according to your Jira default search.'),
/**
* Project key or ID to filter issues by
*/
projectKeyOrId: zod_1.z
.string()
.optional()
.describe('Filter issues by a specific project key or ID (e.g., "PROJ" or "10001"). If `jql` is also provided, this will be ANDed with it (e.g., `project = YOUR_KEY AND (YOUR_JQL)`). Will be combined with other filters using AND logic.'),
/**
* Status names to filter issues by
*/
statuses: zod_1.z
.array(zod_1.z.string())
.optional()
.describe('Filter issues by specific status names (e.g., ["To Do", "In Progress"]). Requires exact names; use jira_ls_statuses to discover. If `jql` is also provided, this will be ANDed with it (e.g., `status IN ("To Do", "In Progress") AND (YOUR_JQL)`). Will be combined with other filters using AND logic.'),
/**
* Sorting order for issues
*/
orderBy: zod_1.z
.string()
.optional()
.describe('Specify the sorting order using JQL ORDER BY clause syntax (e.g., "priority DESC", "created ASC"). If no `orderBy` is provided and a `jql` query without an ORDER BY clause is given, it defaults to `updated DESC`. If `jql` is empty, it also defaults to `ORDER BY updated DESC`.'),
/**
* Maximum number of issues to return and pagination
*/
...PaginationArgs,
});
exports.ListIssuesToolArgs = ListIssuesToolArgs;
/**
* Arguments for getting a specific Jira issue
*/
const GetIssueToolArgs = zod_1.z.object({
/**
* Standardized issue identifier parameter
*/
issueIdOrKey: zod_1.z
.string()
.describe('The ID or key of the Jira issue to retrieve (e.g., "10001" or "PROJ-123"). This is required and must be a valid issue ID or key from your Jira instance.'),
});
exports.GetIssueToolArgs = GetIssueToolArgs;