List issues
Issues filtered by project, assignee, status and tracker, sorted as you ask.
MCP tool redmine_read → list_issues
read
Returns issues with subject, tracker, status, priority, assignee and dates. By default only open issues come back; set status to all or closed to change that. Pages hold up to 100 issues, so read total_count and pass offset for the next page. The project filter takes the numeric project ID.
Parameters
| Name | Type | Description |
|---|---|---|
| project_id integer | integer | Only issues of this project (numeric ID from list_projects). |
| assigned_to_id string | string | A user ID, or 'me' for the signed-in account. |
| status string | string | 'open' (default), 'closed', 'all', or a status ID from list_issue_options. |
| tracker_id integer | integer | Only issues of this tracker. |
| sort string | string | Column to sort by, e.g. 'updated_on:desc'. Default: Redmine's own order. |
| limit integer | integer | 1 to 100. Default: 25. |
| offset integer | integer | How many items to skip. Use offset + limit while it is below total_count. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "redmine_read",
"arguments": {
"operation": "list_issues",
"arguments": {}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"issues": [
{
"issue_id": 4830,
"project": "Billing portal",
"tracker": "Bug",
"status": "New",
"priority": "Normal",
"subject": "Refund email not sent",
"assigned_to": null,
"updated_on": "2026-10-16T07:12:00Z"
},
{
"issue_id": 4821,
"project": "Billing portal",
"tracker": "Bug",
"status": "In Progress",
"priority": "High",
"subject": "Login loop after password reset",
"assigned_to": "Dana Whitfield",
"updated_on": "2026-10-15T14:30:00Z"
}
],
"total_count": 2,
"offset": 0,
"limit": 25
},
"isError": false
}