Skip to main content
Glama

jira_search_issues

Search Jira issues using JQL queries to find specific tickets, filter results by criteria, and retrieve relevant issue data for project tracking and management.

Instructions

Search for Jira issues using JQL

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
jqlYesJQL query string
startAtNoStarting index
maxResultsNoMaximum results to return
fieldsNoFields to include

Implementation Reference

  • MCP tool handler for 'jira_search_issues': validates arguments using schema, invokes JiraClient.searchIssues method, and serializes results as JSON.
    case "jira_search_issues": { const { jql, startAt, maxResults, fields } = SearchIssuesSchema.parse(args); const results = await jiraClient.searchIssues( jql, startAt, maxResults, fields ); return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }], }; }
  • Zod schema defining input parameters for the jira_search_issues tool.
    const SearchIssuesSchema = z.object({ jql: z.string().describe("JQL query string"), startAt: z.number().optional().default(0).describe("Starting index"), maxResults: z .number() .optional() .default(50) .describe("Maximum results to return"), fields: z.array(z.string()).optional().describe("Fields to include"), });
  • src/index.ts:230-250 (registration)
    Tool registration metadata exposed via ListToolsRequestHandler, including name, description, and input schema.
    { name: "jira_search_issues", description: "Search for Jira issues using JQL", inputSchema: { type: "object", properties: { jql: { type: "string", description: "JQL query string" }, startAt: { type: "number", description: "Starting index" }, maxResults: { type: "number", description: "Maximum results to return", }, fields: { type: "array", items: { type: "string" }, description: "Fields to include", }, }, required: ["jql"], }, },
  • JiraClient method implementing the core search logic: POST request to Jira REST API /search endpoint with JQL query and pagination.
    async searchIssues( jql: string, startAt = 0, maxResults = 50, fields?: string[] ): Promise<JiraSearchResult> { return this.request<JiraSearchResult>("/search", { method: "POST", body: JSON.stringify({ jql, startAt, maxResults, fields: fields || [ "summary", "status", "assignee", "reporter", "priority", "created", "updated", "issuetype", "project", "description", "labels", "components", ], }), }); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yogeshhrathod/JiraMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server