{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "list_reviews",
        "list_comments",
        "list_health_findings",
        "list_changed_files",
        "list_requested_revisions",
        "mark_fix_ready"
      ],
      "description": "Operation to perform. Choose one advertised value; the remaining parameters are interpreted for that action."
    },
    "provider": {
      "type": "string",
      "enum": [
        "github"
      ],
      "description": "Source provider for the review. Commentary currently accepts GitHub for provider-backed MCP operations."
    },
    "owner": {
      "type": "string",
      "description": "Repository owner or organization login."
    },
    "repo": {
      "type": "string",
      "description": "Repository name without the owner prefix."
    },
    "prNumber": {
      "type": "number",
      "description": "Pull request number within the selected repository."
    },
    "branchRef": {
      "type": "string",
      "description": "Repository branch name or fully qualified branch reference."
    },
    "rootFolder": {
      "type": "string",
      "description": "Root folder used by the selected Knowledge Brain Review action."
    },
    "filePath": {
      "type": "string",
      "description": "Repository-relative or review-relative file path."
    },
    "state": {
      "type": "string",
      "description": "State filter supported by the selected action."
    },
    "threadId": {
      "type": "string",
      "description": "Stable Commentary review-thread identifier."
    },
    "bodyMarkdown": {
      "type": "string",
      "description": "Markdown body for the comment, reply, note, or report produced by the selected action."
    },
    "agentAlias": {
      "type": "string",
      "description": "Stable agent identifier for agent-authored activity. Agents should always provide this on state-changing calls; clientName is not a substitute."
    }
  },
  "required": [
    "action"
  ]
}