{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "list",
        "add_user",
        "add_agent",
        "list_notifications",
        "mark_notification_read"
      ],
      "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."
    },
    "sessionId": {
      "type": "string",
      "description": "Stable Draft, or Research session identifier, as applicable to the selected tool."
    },
    "webAppReviewId": {
      "type": "string",
      "description": "Stable Web App Review identifier."
    },
    "providerLogin": {
      "type": "string",
      "description": "Provider login used by the selected Review Participants action."
    },
    "providerUserId": {
      "type": "string",
      "description": "Stable provider user identifier used by the selected Review Participants action."
    },
    "userId": {
      "type": "string",
      "description": "Stable user identifier used by the selected Review Participants 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."
    },
    "displayName": {
      "type": "string",
      "description": "Display name used by the selected Review Participants action."
    },
    "mentionHandle": {
      "type": "string",
      "description": "Mention handle used by the selected Review Participants action."
    },
    "recipient": {
      "type": "string",
      "description": "User identity or recipient descriptor used by an explicitly selected sharing action."
    },
    "unreadOnly": {
      "type": "boolean",
      "description": "Whether to enable unread only for the selected Review Participants action."
    },
    "notificationId": {
      "type": "string",
      "description": "Stable notification identifier used by the selected Review Participants action."
    }
  },
  "required": [
    "action"
  ]
}