Skip to main content
Glama

backlog_get_issues

Retrieve and filter Backlog issues by project, assignee, status, and more using the Backlog Issues API. Supports pagination, sorting, and date-based searches.

Instructions

Performs list issue get using the Backlog Issues API. Supports pagination, content filtering. Maximum 20 results per request, with offset for pagination.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
assigneeIdNoAssignee ids
countNoNumber of results (1-100, default 20)
createdSinceNoStart date of created date (YYYY-MM-DD format)
createdUntilNoEnd date of created date (YYYY-MM-DD format)
keywordNoKeyword for searching
offsetNoOffset for pagination
orderNoSort orderdesc
priorityIdNoPriority ids
projectIdNoProject ids
sortNoAttribute name for sorting
statusIdNoStatus ids

Implementation Reference

  • The handleGetIssues function is the core handler for the 'backlog_get_issues' MCP tool. It parses input arguments using IssuesParamsSchema, calls issueService.getIssues to fetch data, formats the response as MCP content blocks, and handles validation and general errors appropriately.
    const handleGetIssues: ToolHandler = async (args) => { try { try { const validatedParams = IssuesParamsSchema.parse(args); const text = await issueService.getIssues(validatedParams); return { content: [ { type: "text", text: `Results for your query:\n${text}`, }, ], isError: false, }; } catch (validationError) { throw new ValidationError( `Invalid parameters: ${validationError instanceof Error ? validationError.message : String(validationError)}`, ); } } catch (error) { return { content: [ { type: "text", text: `Error: ${formatError(error)}`, }, ], isError: true, }; } };
  • The toolHandlers export maps the tool name 'backlog_get_issues' to its handler function handleGetIssues, serving as the registration point for the MCP tool.
    export const toolHandlers: Record<ToolName, ToolHandler> = { backlog_get_projects: handleGetProjects, backlog_get_project: handleGetProject, backlog_get_issues: handleGetIssues, backlog_get_issue: handleGetIssue, backlog_add_issue: handleAddIssue, backlog_update_issue: handleUpdateIssue, backlog_delete_issue: handleDeleteIssue, backlog_get_wikis: handleGetWikis, backlog_get_wiki: handleGetWiki, backlog_add_wiki: handleAddWiki, backlog_update_wiki: handleUpdateWiki, backlog_delete_wiki: handleDeleteWiki, };
  • Defines the MCP Tool object for 'backlog_get_issues', including its name, description, and inputSchema derived via convertZodToJsonSchema from the Zod IssuesParamsSchema.
    export const ISSUES_TOOL: Tool = createTool( "backlog_get_issues", "Performs list issue get using the Backlog Issues API. " + "Supports pagination, content filtering. " + "Maximum 20 results per request, with offset for pagination.", IssuesParamsSchema, );
  • Zod schema definition for input parameters of the 'backlog_get_issues' tool, composed from base parameter schemas including pagination, sorting, filtering, dates, entity IDs, conditions, and keywords.
    export const IssuesParamsSchema = BaseParamsSchema.merge(DateRangeSchema) .merge(EntityIdsSchema) .merge(ConditionSchema) .merge(SortingSchema) .merge(KeywordSchema);
  • Custom hardcoded JSON schema for IssuesParamsSchema input validation in the MCP tool definition, providing detailed properties for pagination, sorting, filtering, and more.
    if (isIssuesParamsSchema) { return { type: "object" as const, properties: { offset: { type: "number", description: "Offset for pagination", default: 0, }, count: { type: "number", description: "Number of results (1-100, default 20)", default: 20, minimum: 1, maximum: 100, }, keyword: { type: "string", description: "Keyword for searching", }, sort: { type: "string", description: "Attribute name for sorting", enum: [ "issueType", "category", "version", "milestone", "summary", "status", "priority", "attachment", "sharedFile", "created", "createdUser", "updated", "updatedUser", "assignee", "startDate", "dueDate", "estimatedHours", "actualHours", "childIssue", ], }, order: { type: "string", description: "Sort order", enum: ["asc", "desc"], default: "desc", }, statusId: { type: "array", description: "Status ids", items: { type: "number", }, }, assigneeId: { type: "array", description: "Assignee ids", items: { type: "number", }, }, createdSince: { type: "string", description: "Start date of created date (YYYY-MM-DD format)", }, createdUntil: { type: "string", description: "End date of created date (YYYY-MM-DD format)", }, priorityId: { type: "array", description: "Priority ids", items: { type: "number", }, }, projectId: { type: "array", description: "Project ids", items: { type: "number", }, }, }, }; }

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/fleagne/backlog-mcp-server'

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