UNPKG

@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
"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;