MCP tools

issue_history read

Read one issue's activity log, newest first: its own changes and its comments', each with its whole before and after. 20 events a page by default, 50 at most. A page also stops before its changes pass 131072 characters as this reply carries them, where each <, > and & counts as six, so it can hold fewer events than the limit. No event is ever cut: one larger than that arrives alone on its page. When has_more is true, pass next_cursor back as cursor; a cursor pages only the issue it came from. field narrows the log to the events that changed one field, one of: project_id, milestone_id, title, description, status, priority, assignee_id, position, target_date, deleted_at, type_id, labels, relations, body, phase_id, note, proposal, reverted_event. A filtered call examines at most 1000 events, so its page can be empty with has_more true: keep passing next_cursor until has_more is false. This is how to read every revision of a description (field=description) or every comment edit (field=body); issue_get embeds only the 10 newest events and gives those two as lengths. The log keeps everything: editing a description or a comment, or deleting a comment, does not remove the earlier text from it.

Arguments

NameTypeDescription
cursorstringthe next_cursor or prev_cursor from a previous issue_history call. The cursor knows which way it points, so one argument pages both ways
fieldstringonly the events that changed this field; the tool description lists the fields. Omit it for every event
issue requiredstringan issue key like ENG-142, or a ULID
limitintegerhow many events to return; 20 by default and 50 at most. A page can hold fewer, never a cut event

Input schema

Exactly what tools/list serves.

input schema
{
  "additionalproperties": false,
  "properties": {
    "cursor": {
      "description": "the next_cursor or prev_cursor from a previous issue_history call. The cursor knows which way it points, so one argument pages both ways",
      "type": "string"
    },
    "field": {
      "description": "only the events that changed this field; the tool description lists the fields. Omit it for every event",
      "type": "string"
    },
    "issue": {
      "description": "an issue key like ENG-142, or a ULID",
      "type": "string"
    },
    "limit": {
      "description": "how many events to return; 20 by default and 50 at most. A page can hold fewer, never a cut event",
      "type": "integer"
    }
  },
  "required": [
    "issue"
  ],
  "type": "object"
}