Skip to main content
Glama

List Issues

list_issues
Read-onlyIdempotent

Retrieve and filter MantisBT issues by project, status, assignee, reporter, or date, with pagination, field selection, and grouped counts for overviews.

Instructions

List MantisBT issues with optional filtering. Returns a paginated list of issues. Use the "select" parameter to limit returned fields and reduce response size significantly.

Note: "assigned_to", "reporter_id", "status", and date filters are applied client-side (the MantisBT REST API does not support these as server-side filters). When any of these filters are active the tool automatically fetches multiple pages internally until enough matching results are found (up to 500 issues scanned); if that limit ends the search before the page is full, the response contains "truncated": true. The "page" and "page_size" parameters refer to the resulting filtered list.

Tip for date queries: fetching with select="id,updated_at,created_at" plus a date filter is very compact and efficient.

For overviews use "group_by" ("status", "handler", "priority" or "category"): the server counts all matching issues itself and returns { group_by, total, groups: [{ id, name, label?, count }] } instead of an issue list — far fewer tokens than listing issues and counting them. All filters still apply. If the scan stops at its limit (50,000 issues), the response contains "truncated": true.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number (default: 1)
sortNoSort field (e.g. "last_updated", "id")
selectNoComma-separated list of fields to include in the response (server-side projection). Significantly reduces response size. Example: "id,summary,status,priority,handler,updated_at"
statusNoFilter issues by status name (e.g. "new", "feedback", "acknowledged", "confirmed", "assigned", "resolved", "closed") or use "open" as shorthand for all statuses with id < 80 (i.e. not yet resolved or closed). Applied client-side after fetching — when combined with pagination, a page may contain fewer results than page_size.
group_byNoReturn counts per group instead of issues: "status", "handler", "priority" or "category". All matching issues are counted (page, page_size and select are ignored).
directionNoSort direction
filter_idNoUse a saved MantisBT filter ID
page_sizeNoIssues per page (default: 50, max: 50)
project_idNoFilter by project ID
assigned_toNoFilter by handler/assignee user ID
reporter_idNoFilter by reporter user ID
created_afterNoISO-8601 timestamp — only return issues created after this date (exclusive). Example: "2026-03-01T00:00:00Z"
updated_afterNoISO-8601 timestamp — only return issues updated after this date (exclusive). Example: "2026-03-25T00:00:00Z"
created_beforeNoISO-8601 timestamp — only return issues created before this date (exclusive). Example: "2026-03-15T00:00:00Z"
updated_beforeNoISO-8601 timestamp — only return issues updated before this date (exclusive). Example: "2026-03-28T00:00:00Z"

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.15.0
    • addedInput schema / properties / group_by
      Added value: +{
      +  "description": "Return counts per group instead of issues: \"status\", \"handler\", \"priority\" or \"category\". All matching issues are counted (page, page_size and select are ignored).",
      +  "enum": [
      +    "status",
      +    "handler",
      +    "priority",
      +    "category"
      +  ],
      +  "type": "string"
      +}
  2. Changed6 schema fields changedv1.14.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / assigned_to / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / filter_id / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / page / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / project_id / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / reporter_id / maximum
      Added value: +9007199254740991
  3. Addedv1.10.4
  4. Removed
  5. Changed4 schema fields changedv1.5.15
    • addedInput schema / properties / created_after
      Added value: +{
      +  "description": "ISO-8601 timestamp — only return issues created after this date (exclusive). Example: \"2026-03-01T00:00:00Z\"",
      +  "type": "string"
      +}
    • addedInput schema / properties / created_before
      Added value: +{
      +  "description": "ISO-8601 timestamp — only return issues created before this date (exclusive). Example: \"2026-03-15T00:00:00Z\"",
      +  "type": "string"
      +}
    • addedInput schema / properties / updated_after
      Added value: +{
      +  "description": "ISO-8601 timestamp — only return issues updated after this date (exclusive). Example: \"2026-03-25T00:00:00Z\"",
      +  "type": "string"
      +}
    • addedInput schema / properties / updated_before
      Added value: +{
      +  "description": "ISO-8601 timestamp — only return issues updated before this date (exclusive). Example: \"2026-03-28T00:00:00Z\"",
      +  "type": "string"
      +}
  6. First observedv1.5.6

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses behavior the annotations do not: assigned_to, reporter_id, status and date filters run client-side, so the tool auto-scans up to 500 issues internally and may set "truncated": true; page/page_size apply to the post-filter list; group_by ignores page/page_size/select and counts up to a 50,000-issue scan cap. This is exactly the operational context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then organized into Note and Tip blocks covering distinct concerns. It runs long across three paragraphs, but each block addresses a real pitfall (client-side filtering, truncation, group_by output), so little is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A 15-parameter tool with no output schema needs the response shape explained, and the description supplies it for both modes: a paginated issue list and the { group_by, total, groups } structure. Truncation signaling is covered for both paths, leaving nothing an agent must guess before calling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description goes further by clarifying that page/page_size index the filtered result set (a subtle and easy-to-miss semantic), and by documenting the group_by return shape and its interaction with select and pagination.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: list MantisBT issues with optional filtering, returning a paginated list. It is clear on its own, but it never distinguishes itself from the sibling get_issues, which an agent would have to open both schemas to resolve.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete routing guidance for sub-modes: use group_by for overviews instead of listing and counting, use select for compact date queries. However, it offers no guidance on when to pick this tool over the sibling get_issues or get_issue, which is the main selection ambiguity an agent faces.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.