{
  "schemaVersion": "1.0",
  "generatedAt": "2026-08-28T13:37:58Z",
  "documentation": {
    "html": "https://www.legalzoom.com/ai/virtual-mail",
    "json": "https://api.dev.ecm.network/v2/mcp_catalog.json",
    "text": "https://api.dev.ecm.network/v2/mcp_catalog.txt"
  },
  "integrations": [
    {
      "name": "readonly",
      "path": "/v2/mcp/readonly",
      "auth": "jwt-bearer",
      "instructions": "These tools work with the physical mail of a LegalZoom Virtual Mail customer.\n\nEach inbox has a pmb (from list_inboxes). Tools that read or change mail items act on one pmb. There is no search across inboxes.\n\nlist_mail_items searches the INBOX folder when folder_id is absent. An explicit folder_id selects INBOX, ARCHIVE, TRASH, JUNKMAIL, ALL, or a recipient folder ID.\n\nMail items, folders, accounts, check deposits and shipments have status, flag or folder codes in their output. The meaning of a code is available from get_field_reference.\n\nget_inbox_overview omits a section when the data is not available. An absent count is not a zero count.\n\nA suspended, closed or terminated account makes most pmb-scoped tools fail. get_inbox_overview reports the account status when it is available.\n\nThe write tools are not available here. Only read tools can run.",
      "tools": [
        "get_check_deposit_by_mail_item",
        "get_current_user",
        "get_field_reference",
        "get_inbox_overview",
        "get_mail_item",
        "get_mail_item_envelope_image_url",
        "get_mail_item_history",
        "get_mail_item_pdf_url",
        "get_mail_item_text",
        "get_shipment_by_mail_item",
        "list_folders",
        "list_inboxes",
        "list_mail_items",
        "list_recipients",
        "list_tags",
        "ping"
      ]
    },
    {
      "name": "chatgpt",
      "path": "/v2/mcp/chatgpt",
      "auth": "jwt-bearer",
      "instructions": "These tools work with the physical mail of a LegalZoom Virtual Mail customer.\n\nEach inbox has a pmb (from list_inboxes). Tools that read or change mail items act on one pmb. There is no search across inboxes.\n\nlist_mail_items searches the INBOX folder when folder_id is absent. An explicit folder_id selects INBOX, ARCHIVE, TRASH, JUNKMAIL, ALL, or a recipient folder ID.\n\nMail items, folders, accounts, check deposits and shipments have status, flag or folder codes in their output. The meaning of a code is available from get_field_reference.\n\nget_inbox_overview omits a section when the data is not available. An absent count is not a zero count.\n\nA suspended, closed or terminated account makes most pmb-scoped tools fail. get_inbox_overview reports the account status when it is available.\n\nSome write tools report a result for each item. One call can change some items and skip others. The actions that one item supports are available from get_mail_item.",
      "tools": [
        "apply_mail_items_tags",
        "cancel_mail_items_scan",
        "cancel_mail_items_shred",
        "create_mail_item_tag",
        "delete_mail_item_tags",
        "get_check_deposit_by_mail_item",
        "get_current_user",
        "get_field_reference",
        "get_inbox_overview",
        "get_mail_item",
        "get_mail_item_envelope_image_url",
        "get_mail_item_history",
        "get_mail_item_pdf_url",
        "get_mail_item_text",
        "get_shipment_by_mail_item",
        "list_folders",
        "list_inboxes",
        "list_mail_items",
        "list_recipients",
        "list_tags",
        "mark_mail_items_read",
        "mark_mail_items_unread",
        "move_mail_items",
        "ping",
        "request_mail_items_scan",
        "request_mail_items_scan_then_shred",
        "request_mail_items_shred",
        "transfer_mail_items_to_recipient"
      ]
    },
    {
      "name": "claude",
      "path": "/v2/mcp/claude",
      "auth": "jwt-bearer",
      "instructions": "These tools work with the physical mail of a LegalZoom Virtual Mail customer.\n\nEach inbox has a pmb (from list_inboxes). Tools that read or change mail items act on one pmb. There is no search across inboxes.\n\nlist_mail_items searches the INBOX folder when folder_id is absent. An explicit folder_id selects INBOX, ARCHIVE, TRASH, JUNKMAIL, ALL, or a recipient folder ID.\n\nMail items, folders, accounts, check deposits and shipments have status, flag or folder codes in their output. The meaning of a code is available from get_field_reference.\n\nget_inbox_overview omits a section when the data is not available. An absent count is not a zero count.\n\nA suspended, closed or terminated account makes most pmb-scoped tools fail. get_inbox_overview reports the account status when it is available.\n\nSome write tools report a result for each item. One call can change some items and skip others. The actions that one item supports are available from get_mail_item.",
      "tools": [
        "apply_mail_items_tags",
        "cancel_mail_items_scan",
        "cancel_mail_items_shred",
        "create_mail_item_tag",
        "delete_mail_item_tags",
        "get_check_deposit_by_mail_item",
        "get_current_user",
        "get_field_reference",
        "get_inbox_overview",
        "get_mail_item",
        "get_mail_item_envelope_image_url",
        "get_mail_item_history",
        "get_mail_item_pdf_url",
        "get_mail_item_text",
        "get_shipment_by_mail_item",
        "list_folders",
        "list_inboxes",
        "list_mail_items",
        "list_recipients",
        "list_tags",
        "mark_mail_items_read",
        "mark_mail_items_unread",
        "move_mail_items",
        "ping",
        "request_mail_items_scan",
        "request_mail_items_scan_then_shred",
        "request_mail_items_shred",
        "transfer_mail_items_to_recipient"
      ]
    },
    {
      "name": "default",
      "path": "/v2/mcp",
      "auth": "jwt-bearer",
      "instructions": "These tools work with the physical mail of a LegalZoom Virtual Mail customer.\n\nEach inbox has a pmb (from list_inboxes). Tools that read or change mail items act on one pmb. There is no search across inboxes.\n\nlist_mail_items searches the INBOX folder when folder_id is absent. An explicit folder_id selects INBOX, ARCHIVE, TRASH, JUNKMAIL, ALL, or a recipient folder ID.\n\nMail items, folders, accounts, check deposits and shipments have status, flag or folder codes in their output. The meaning of a code is available from get_field_reference.\n\nget_inbox_overview omits a section when the data is not available. An absent count is not a zero count.\n\nA suspended, closed or terminated account makes most pmb-scoped tools fail. get_inbox_overview reports the account status when it is available.\n\nSome write tools report a result for each item. One call can change some items and skip others. The actions that one item supports are available from get_mail_item.",
      "tools": [
        "apply_mail_items_tags",
        "cancel_mail_items_scan",
        "cancel_mail_items_shred",
        "create_mail_item_tag",
        "delete_mail_item_tags",
        "get_check_deposit_by_mail_item",
        "get_current_user",
        "get_field_reference",
        "get_inbox_overview",
        "get_mail_item",
        "get_mail_item_envelope_image_url",
        "get_mail_item_history",
        "get_mail_item_pdf_url",
        "get_mail_item_text",
        "get_shipment_by_mail_item",
        "list_folders",
        "list_inboxes",
        "list_mail_items",
        "list_recipients",
        "list_tags",
        "mark_mail_items_read",
        "mark_mail_items_unread",
        "move_mail_items",
        "ping",
        "request_mail_items_scan",
        "request_mail_items_scan_then_shred",
        "request_mail_items_shred",
        "transfer_mail_items_to_recipient"
      ]
    }
  ],
  "tools": [
    {
      "name": "apply_mail_items_tags",
      "title": "Apply Mail Items Tags",
      "summary": "Apply one or more existing tags to one or more mail items, and optionally remove tags in the same call. Use when the user wants to label or categorize mail with tags that already exist. Do not use it to create new tags (use create_mail_item_tag), delete tags (use delete_mail_item_tags), or to filter mail by tag (use list_mail_items). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and at least one of set_tag_ids or remove_tag_ids (from list_tags). Side effect: adds the given tags to those items and removes the specified ones.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Apply one or more existing tags to one or more mail items, and optionally remove tags in the same call. Use when the user wants to label or categorize mail with tags that already exist. Do not use it to create new tags (use create_mail_item_tag), delete tags (use delete_mail_item_tags), or to filter mail by tag (use list_mail_items). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and at least one of set_tag_ids or remove_tag_ids (from list_tags). Side effect: adds the given tags to those items and removes the specified ones.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to tag; obtain from list_mail_items"
                },
                "set_tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "IDs of existing tags to add to every listed item; resolve tag names to IDs via list_tags. Provide at least one of set_tag_ids or remove_tag_ids"
                },
                "remove_tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "IDs of existing tags to remove from every listed item; resolve tag names to IDs via list_tags"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Apply Mail Items Tags"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Apply one or more existing tags to one or more mail items, and optionally remove tags in the same call. Use when the user wants to label or categorize mail with tags that already exist. Do not use it to create new tags (use create_mail_item_tag), delete tags (use delete_mail_item_tags), or to filter mail by tag (use list_mail_items). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and at least one of set_tag_ids or remove_tag_ids (from list_tags). Side effect: adds the given tags to those items and removes the specified ones.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to tag; obtain from list_mail_items"
                },
                "set_tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "IDs of existing tags to add to every listed item; resolve tag names to IDs via list_tags. Provide at least one of set_tag_ids or remove_tag_ids"
                },
                "remove_tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "IDs of existing tags to remove from every listed item; resolve tag names to IDs via list_tags"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Apply Mail Items Tags"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Apply one or more existing tags to one or more mail items, and optionally remove tags in the same call. Use when the user wants to label or categorize mail with tags that already exist. Do not use it to create new tags (use create_mail_item_tag), delete tags (use delete_mail_item_tags), or to filter mail by tag (use list_mail_items). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and at least one of set_tag_ids or remove_tag_ids (from list_tags). Side effect: adds the given tags to those items and removes the specified ones.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to tag; obtain from list_mail_items"
                },
                "set_tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "IDs of existing tags to add to every listed item; resolve tag names to IDs via list_tags. Provide at least one of set_tag_ids or remove_tag_ids"
                },
                "remove_tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "IDs of existing tags to remove from every listed item; resolve tag names to IDs via list_tags"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Apply Mail Items Tags"
            }
          }
        }
      ]
    },
    {
      "name": "cancel_mail_items_scan",
      "title": "Cancel Mail Items Scan",
      "summary": "Cancel a pending scan request for one or more physical mail items before the mailroom acts on it. Use when the user wants to stop a scan that is still cancellable. Do not use it to request a scan (use request_mail_items_scan) or to read scanned contents (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: cancellation occurs only where it is an available action, and items with no pending scan, a completed scan, or an archived state are skipped with a reason. Side effect: cancels the queued scan operation for eligible items.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Cancel a pending scan request for one or more physical mail items before the mailroom acts on it. Use when the user wants to stop a scan that is still cancellable. Do not use it to request a scan (use request_mail_items_scan) or to read scanned contents (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: cancellation occurs only where it is an available action, and items with no pending scan, a completed scan, or an archived state are skipped with a reason. Side effect: cancels the queued scan operation for eligible items.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs whose pending scan should be cancelled; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Cancel Mail Items Scan"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Cancel a pending scan request for one or more physical mail items before the mailroom acts on it. Use when the user wants to stop a scan that is still cancellable. Do not use it to request a scan (use request_mail_items_scan) or to read scanned contents (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: cancellation occurs only where it is an available action, and items with no pending scan, a completed scan, or an archived state are skipped with a reason. Side effect: cancels the queued scan operation for eligible items.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs whose pending scan should be cancelled; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Cancel Mail Items Scan"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Cancel a pending scan request for one or more physical mail items before the mailroom acts on it. Use when the user wants to stop a scan that is still cancellable. Do not use it to request a scan (use request_mail_items_scan) or to read scanned contents (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: cancellation occurs only where it is an available action, and items with no pending scan, a completed scan, or an archived state are skipped with a reason. Side effect: cancels the queued scan operation for eligible items.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs whose pending scan should be cancelled; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Cancel Mail Items Scan"
            }
          }
        }
      ]
    },
    {
      "name": "cancel_mail_items_shred",
      "title": "Cancel Mail Items Shred",
      "summary": "Cancel a pending shred request for one or more physical mail items before the mailroom destroys them. Use when the user wants to stop a shred that is still cancellable. Do not use it to request a shred (use request_mail_items_shred) or to move items to TRASH (use move_mail_items). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: cancellation occurs only where it is an available action, and items with no pending shred, an already completed shred, or a shipped state are skipped with a reason. Side effect: cancels the queued shred operation for eligible items.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Cancel a pending shred request for one or more physical mail items before the mailroom destroys them. Use when the user wants to stop a shred that is still cancellable. Do not use it to request a shred (use request_mail_items_shred) or to move items to TRASH (use move_mail_items). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: cancellation occurs only where it is an available action, and items with no pending shred, an already completed shred, or a shipped state are skipped with a reason. Side effect: cancels the queued shred operation for eligible items.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs whose pending shred should be cancelled; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Cancel Mail Items Shred"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Cancel a pending shred request for one or more physical mail items before the mailroom destroys them. Use when the user wants to stop a shred that is still cancellable. Do not use it to request a shred (use request_mail_items_shred) or to move items to TRASH (use move_mail_items). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: cancellation occurs only where it is an available action, and items with no pending shred, an already completed shred, or a shipped state are skipped with a reason. Side effect: cancels the queued shred operation for eligible items.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs whose pending shred should be cancelled; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Cancel Mail Items Shred"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Cancel a pending shred request for one or more physical mail items before the mailroom destroys them. Use when the user wants to stop a shred that is still cancellable. Do not use it to request a shred (use request_mail_items_shred) or to move items to TRASH (use move_mail_items). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: cancellation occurs only where it is an available action, and items with no pending shred, an already completed shred, or a shipped state are skipped with a reason. Side effect: cancels the queued shred operation for eligible items.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs whose pending shred should be cancelled; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Cancel Mail Items Shred"
            }
          }
        }
      ]
    },
    {
      "name": "create_mail_item_tag",
      "title": "Create Mail Item Tag",
      "summary": "Create a new tag (label) on an inbox so it can be applied to mail items. Use when the user wants a tag that does not yet exist. Do not use it to apply an existing tag (use apply_mail_items_tags), to filter by tag (use list_mail_items), to delete a tag (use delete_mail_item_tags), or to rename tags (not supported). Creating a label that already exists on the inbox fails. Requires pmb (from list_inboxes) and label. Returns the new tag's id and label. Side effect: creates a new tag on the inbox.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Create a new tag (label) on an inbox so it can be applied to mail items. Use when the user wants a tag that does not yet exist. Do not use it to apply an existing tag (use apply_mail_items_tags), to filter by tag (use list_mail_items), to delete a tag (use delete_mail_item_tags), or to rename tags (not supported). Creating a label that already exists on the inbox fails. Requires pmb (from list_inboxes) and label. Returns the new tag's id and label. Side effect: creates a new tag on the inbox.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to create the tag on; obtain from list_inboxes. Tags are inbox-scoped"
                },
                "label": {
                  "type": "string",
                  "description": "The tag name to create; non-empty, at most 100 characters, must be unique on the inbox and not a reserved system label; existing labels are available from list_tags"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "label"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Create Mail Item Tag"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Create a new tag (label) on an inbox so it can be applied to mail items. Use when the user wants a tag that does not yet exist. Do not use it to apply an existing tag (use apply_mail_items_tags), to filter by tag (use list_mail_items), to delete a tag (use delete_mail_item_tags), or to rename tags (not supported). Creating a label that already exists on the inbox fails. Requires pmb (from list_inboxes) and label. Returns the new tag's id and label. Side effect: creates a new tag on the inbox.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to create the tag on; obtain from list_inboxes. Tags are inbox-scoped"
                },
                "label": {
                  "type": "string",
                  "description": "The tag name to create; non-empty, at most 100 characters, must be unique on the inbox and not a reserved system label; existing labels are available from list_tags"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "label"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Create Mail Item Tag"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Create a new tag (label) on an inbox so it can be applied to mail items. Use when the user wants a tag that does not yet exist. Do not use it to apply an existing tag (use apply_mail_items_tags), to filter by tag (use list_mail_items), to delete a tag (use delete_mail_item_tags), or to rename tags (not supported). Creating a label that already exists on the inbox fails. Requires pmb (from list_inboxes) and label. Returns the new tag's id and label. Side effect: creates a new tag on the inbox.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to create the tag on; obtain from list_inboxes. Tags are inbox-scoped"
                },
                "label": {
                  "type": "string",
                  "description": "The tag name to create; non-empty, at most 100 characters, must be unique on the inbox and not a reserved system label; existing labels are available from list_tags"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "label"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Create Mail Item Tag"
            }
          }
        }
      ]
    },
    {
      "name": "delete_mail_item_tags",
      "title": "Delete Mail Item Tags",
      "summary": "Delete one or more tags from an inbox, which also removes them from any mail items that currently carry them. Use when the user wants to remove or clean up tags they no longer need. Do not use it to merely take a tag off specific items while keeping the tag (use apply_mail_items_tags with remove_tag_ids) or to create tags (use create_mail_item_tag). Requires pmb (from list_inboxes) and tag_ids (from list_tags). Every tag_id must currently exist on the inbox; if any is unknown the whole request fails and nothing is deleted. Side effect: permanently deletes the tags and detaches them from all items on the inbox.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Delete one or more tags from an inbox, which also removes them from any mail items that currently carry them. Use when the user wants to remove or clean up tags they no longer need. Do not use it to merely take a tag off specific items while keeping the tag (use apply_mail_items_tags with remove_tag_ids) or to create tags (use create_mail_item_tag). Requires pmb (from list_inboxes) and tag_ids (from list_tags). Every tag_id must currently exist on the inbox; if any is unknown the whole request fails and nothing is deleted. Side effect: permanently deletes the tags and detaches them from all items on the inbox.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the tags; obtain from list_inboxes"
                },
                "tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "IDs of existing tags to delete from the inbox; resolve tag names to IDs via list_tags"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "tag_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Delete Mail Item Tags"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Delete one or more tags from an inbox, which also removes them from any mail items that currently carry them. Use when the user wants to remove or clean up tags they no longer need. Do not use it to merely take a tag off specific items while keeping the tag (use apply_mail_items_tags with remove_tag_ids) or to create tags (use create_mail_item_tag). Requires pmb (from list_inboxes) and tag_ids (from list_tags). Every tag_id must currently exist on the inbox; if any is unknown the whole request fails and nothing is deleted. Side effect: permanently deletes the tags and detaches them from all items on the inbox.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the tags; obtain from list_inboxes"
                },
                "tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "IDs of existing tags to delete from the inbox; resolve tag names to IDs via list_tags"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "tag_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Delete Mail Item Tags"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Delete one or more tags from an inbox, which also removes them from any mail items that currently carry them. Use when the user wants to remove or clean up tags they no longer need. Do not use it to merely take a tag off specific items while keeping the tag (use apply_mail_items_tags with remove_tag_ids) or to create tags (use create_mail_item_tag). Requires pmb (from list_inboxes) and tag_ids (from list_tags). Every tag_id must currently exist on the inbox; if any is unknown the whole request fails and nothing is deleted. Side effect: permanently deletes the tags and detaches them from all items on the inbox.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the tags; obtain from list_inboxes"
                },
                "tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "IDs of existing tags to delete from the inbox; resolve tag names to IDs via list_tags"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "tag_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Delete Mail Item Tags"
            }
          }
        }
      ]
    },
    {
      "name": "get_check_deposit_by_mail_item",
      "title": "Get Check Deposit By Mail Item",
      "summary": "Retrieve the check deposit(s) opened from one or more mail items: item and request statuses, check amounts, request timing and expedited handling, the destination bank account, shipment details for the physical checks, and the post-deposit operation. Use when the user asks whether the check on a specific piece of mail was deposited or about its deposit status — \"was this check deposited?\", \"what's the deposit status for this letter?\", \"where did the check on this item go?\" Do not use it to browse a mailbox's mail (use list_mail_items), to fetch a mail item's own metadata (use get_mail_item), or to list every deposit in an inbox (not supported). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Returns one entry per requested item that has a deposit; a mail item with no deposit contributes nothing. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the check deposit(s) opened from one or more mail items: item and request statuses, check amounts, request timing and expedited handling, the destination bank account, shipment details for the physical checks, and the post-deposit operation. Use when the user asks whether the check on a specific piece of mail was deposited or about its deposit status — \"was this check deposited?\", \"what's the deposit status for this letter?\", \"where did the check on this item go?\" Do not use it to browse a mailbox's mail (use list_mail_items), to fetch a mail item's own metadata (use get_mail_item), or to list every deposit in an inbox (not supported). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Returns one entry per requested item that has a deposit; a mail item with no deposit contributes nothing. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs (each a positive integer, as a string) whose check deposits to fetch; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Check Deposit By Mail Item"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the check deposit(s) opened from one or more mail items: item and request statuses, check amounts, request timing and expedited handling, the destination bank account, shipment details for the physical checks, and the post-deposit operation. Use when the user asks whether the check on a specific piece of mail was deposited or about its deposit status — \"was this check deposited?\", \"what's the deposit status for this letter?\", \"where did the check on this item go?\" Do not use it to browse a mailbox's mail (use list_mail_items), to fetch a mail item's own metadata (use get_mail_item), or to list every deposit in an inbox (not supported). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Returns one entry per requested item that has a deposit; a mail item with no deposit contributes nothing. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs (each a positive integer, as a string) whose check deposits to fetch; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Check Deposit By Mail Item"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the check deposit(s) opened from one or more mail items: item and request statuses, check amounts, request timing and expedited handling, the destination bank account, shipment details for the physical checks, and the post-deposit operation. Use when the user asks whether the check on a specific piece of mail was deposited or about its deposit status — \"was this check deposited?\", \"what's the deposit status for this letter?\", \"where did the check on this item go?\" Do not use it to browse a mailbox's mail (use list_mail_items), to fetch a mail item's own metadata (use get_mail_item), or to list every deposit in an inbox (not supported). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Returns one entry per requested item that has a deposit; a mail item with no deposit contributes nothing. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs (each a positive integer, as a string) whose check deposits to fetch; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Check Deposit By Mail Item"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the check deposit(s) opened from one or more mail items: item and request statuses, check amounts, request timing and expedited handling, the destination bank account, shipment details for the physical checks, and the post-deposit operation. Use when the user asks whether the check on a specific piece of mail was deposited or about its deposit status — \"was this check deposited?\", \"what's the deposit status for this letter?\", \"where did the check on this item go?\" Do not use it to browse a mailbox's mail (use list_mail_items), to fetch a mail item's own metadata (use get_mail_item), or to list every deposit in an inbox (not supported). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Returns one entry per requested item that has a deposit; a mail item with no deposit contributes nothing. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs (each a positive integer, as a string) whose check deposits to fetch; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Check Deposit By Mail Item"
            }
          }
        }
      ]
    },
    {
      "name": "get_current_user",
      "title": "Get Current User",
      "summary": "Get the profile of the currently authenticated user (the caller): user ID, first and last name, email, username, daytime phone, and account creation date. Use to identify who you are acting for or to answer questions about the caller's own account. This is the person calling, not an inbox owner — the account behind an inbox is available from list_inboxes. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Get the profile of the currently authenticated user (the caller): user ID, first and last name, email, username, daytime phone, and account creation date. Use to identify who you are acting for or to answer questions about the caller's own account. This is the person calling, not an inbox owner — the account behind an inbox is available from list_inboxes. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Current User"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Get the profile of the currently authenticated user (the caller): user ID, first and last name, email, username, daytime phone, and account creation date. Use to identify who you are acting for or to answer questions about the caller's own account. This is the person calling, not an inbox owner — the account behind an inbox is available from list_inboxes. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Current User"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Get the profile of the currently authenticated user (the caller): user ID, first and last name, email, username, daytime phone, and account creation date. Use to identify who you are acting for or to answer questions about the caller's own account. This is the person calling, not an inbox owner — the account behind an inbox is available from list_inboxes. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Current User"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Get the profile of the currently authenticated user (the caller): user ID, first and last name, email, username, daytime phone, and account creation date. Use to identify who you are acting for or to answer questions about the caller's own account. This is the person calling, not an inbox owner — the account behind an inbox is available from list_inboxes. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Current User"
            }
          }
        }
      ]
    },
    {
      "name": "get_field_reference",
      "title": "Get Field Reference",
      "summary": "Look up the authoritative meaning of a status, flag, enum, or concept returned by this MCP server, such as a mail item's digital_status or check_status. Do not use it to fetch customer data or the underlying result (use the relevant data tool, e.g. get_mail_item). The optional topic identifies a reference entry such as mail_item.digital_status. When topic is omitted, the tool returns an index of available topics; when topic is provided, it returns the raw values, short labels, and explanations for that topic. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Look up the authoritative meaning of a status, flag, enum, or concept returned by this MCP server, such as a mail item's digital_status or check_status. Do not use it to fetch customer data or the underlying result (use the relevant data tool, e.g. get_mail_item). The optional topic identifies a reference entry such as mail_item.digital_status. When topic is omitted, the tool returns an index of available topics; when topic is provided, it returns the raw values, short labels, and explanations for that topic. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "topic": {
                  "type": "string",
                  "description": "reference topic to retrieve, e.g. mail_item.digital_status; omit to list every available topic. Obtain valid topics from the index returned when this field is omitted"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Field Reference"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Look up the authoritative meaning of a status, flag, enum, or concept returned by this MCP server, such as a mail item's digital_status or check_status. Do not use it to fetch customer data or the underlying result (use the relevant data tool, e.g. get_mail_item). The optional topic identifies a reference entry such as mail_item.digital_status. When topic is omitted, the tool returns an index of available topics; when topic is provided, it returns the raw values, short labels, and explanations for that topic. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "topic": {
                  "type": "string",
                  "description": "reference topic to retrieve, e.g. mail_item.digital_status; omit to list every available topic. Obtain valid topics from the index returned when this field is omitted"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Field Reference"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Look up the authoritative meaning of a status, flag, enum, or concept returned by this MCP server, such as a mail item's digital_status or check_status. Do not use it to fetch customer data or the underlying result (use the relevant data tool, e.g. get_mail_item). The optional topic identifies a reference entry such as mail_item.digital_status. When topic is omitted, the tool returns an index of available topics; when topic is provided, it returns the raw values, short labels, and explanations for that topic. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "topic": {
                  "type": "string",
                  "description": "reference topic to retrieve, e.g. mail_item.digital_status; omit to list every available topic. Obtain valid topics from the index returned when this field is omitted"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Field Reference"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Look up the authoritative meaning of a status, flag, enum, or concept returned by this MCP server, such as a mail item's digital_status or check_status. Do not use it to fetch customer data or the underlying result (use the relevant data tool, e.g. get_mail_item). The optional topic identifies a reference entry such as mail_item.digital_status. When topic is omitted, the tool returns an index of available topics; when topic is provided, it returns the raw values, short labels, and explanations for that topic. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "topic": {
                  "type": "string",
                  "description": "reference topic to retrieve, e.g. mail_item.digital_status; omit to list every available topic. Obtain valid topics from the index returned when this field is omitted"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Field Reference"
            }
          }
        }
      ]
    },
    {
      "name": "get_inbox_overview",
      "title": "Get Inbox Overview",
      "summary": "Return a one-call summary of an inbox and its account: current mail counts, operations in progress, account standing, usage for the current billing period, and active alerts. Alerts may include account notices, an expiring or expired payment method, and USPS Form 1583 or address-authorization issues. Use for general inbox overview or account-health questions. Do not use it to retrieve the actual mail items (use list_mail_items); usage figures are counts, not dollar amounts. Requires pmb (from list_inboxes). Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Return a one-call summary of an inbox and its account: current mail counts, operations in progress, account standing, usage for the current billing period, and active alerts. Alerts may include account notices, an expiring or expired payment method, and USPS Form 1583 or address-authorization issues. Use for general inbox overview or account-health questions. Do not use it to retrieve the actual mail items (use list_mail_items); usage figures are counts, not dollar amounts. Requires pmb (from list_inboxes). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to summarize; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Inbox Overview"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Return a one-call summary of an inbox and its account: current mail counts, operations in progress, account standing, usage for the current billing period, and active alerts. Alerts may include account notices, an expiring or expired payment method, and USPS Form 1583 or address-authorization issues. Use for general inbox overview or account-health questions. Do not use it to retrieve the actual mail items (use list_mail_items); usage figures are counts, not dollar amounts. Requires pmb (from list_inboxes). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to summarize; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Inbox Overview"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Return a one-call summary of an inbox and its account: current mail counts, operations in progress, account standing, usage for the current billing period, and active alerts. Alerts may include account notices, an expiring or expired payment method, and USPS Form 1583 or address-authorization issues. Use for general inbox overview or account-health questions. Do not use it to retrieve the actual mail items (use list_mail_items); usage figures are counts, not dollar amounts. Requires pmb (from list_inboxes). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to summarize; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Inbox Overview"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Return a one-call summary of an inbox and its account: current mail counts, operations in progress, account standing, usage for the current billing period, and active alerts. Alerts may include account notices, an expiring or expired payment method, and USPS Form 1583 or address-authorization issues. Use for general inbox overview or account-health questions. Do not use it to retrieve the actual mail items (use list_mail_items); usage figures are counts, not dollar amounts. Requires pmb (from list_inboxes). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to summarize; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Inbox Overview"
            }
          }
        }
      ]
    },
    {
      "name": "get_mail_item",
      "title": "Get Mail Item",
      "summary": "Retrieve full details for one or more mail items by ID: metadata (sender, received date, mail type, physical/scan/check status, flags, storage info, current folder, pdf and envelope urls — links expire in ~60 min) and, for already-scanned items on AI-features accounts, the AI-derived categorization (document type e.g. \"Bank Statement\" and a short summary). Use when you already have mail_item_ids (typically from list_mail_items) and need their complete state or a quick sense of what each piece is. Do not use it to search or list items (use list_mail_items), or to get the verbatim OCR text (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Categorization is returned only for scanned items on AI-features accounts; metadata is always returned. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve full details for one or more mail items by ID: metadata (sender, received date, mail type, physical/scan/check status, flags, storage info, current folder, pdf and envelope urls — links expire in ~60 min) and, for already-scanned items on AI-features accounts, the AI-derived categorization (document type e.g. \"Bank Statement\" and a short summary). Use when you already have mail_item_ids (typically from list_mail_items) and need their complete state or a quick sense of what each piece is. Do not use it to search or list items (use list_mail_items), or to get the verbatim OCR text (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Categorization is returned only for scanned items on AI-features accounts; metadata is always returned. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes. An item ID alone is not enough"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to retrieve; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve full details for one or more mail items by ID: metadata (sender, received date, mail type, physical/scan/check status, flags, storage info, current folder, pdf and envelope urls — links expire in ~60 min) and, for already-scanned items on AI-features accounts, the AI-derived categorization (document type e.g. \"Bank Statement\" and a short summary). Use when you already have mail_item_ids (typically from list_mail_items) and need their complete state or a quick sense of what each piece is. Do not use it to search or list items (use list_mail_items), or to get the verbatim OCR text (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Categorization is returned only for scanned items on AI-features accounts; metadata is always returned. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes. An item ID alone is not enough"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to retrieve; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve full details for one or more mail items by ID: metadata (sender, received date, mail type, physical/scan/check status, flags, storage info, current folder, pdf and envelope urls — links expire in ~60 min) and, for already-scanned items on AI-features accounts, the AI-derived categorization (document type e.g. \"Bank Statement\" and a short summary). Use when you already have mail_item_ids (typically from list_mail_items) and need their complete state or a quick sense of what each piece is. Do not use it to search or list items (use list_mail_items), or to get the verbatim OCR text (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Categorization is returned only for scanned items on AI-features accounts; metadata is always returned. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes. An item ID alone is not enough"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to retrieve; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve full details for one or more mail items by ID: metadata (sender, received date, mail type, physical/scan/check status, flags, storage info, current folder, pdf and envelope urls — links expire in ~60 min) and, for already-scanned items on AI-features accounts, the AI-derived categorization (document type e.g. \"Bank Statement\" and a short summary). Use when you already have mail_item_ids (typically from list_mail_items) and need their complete state or a quick sense of what each piece is. Do not use it to search or list items (use list_mail_items), or to get the verbatim OCR text (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Categorization is returned only for scanned items on AI-features accounts; metadata is always returned. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes. An item ID alone is not enough"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to retrieve; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item"
            }
          }
        }
      ]
    },
    {
      "name": "get_mail_item_envelope_image_url",
      "title": "Get Mail Item Envelope Image URL",
      "summary": "Generate temporary, pre-signed links to the envelope/exterior photos of one or more mail items when the user wants to see what an unopened piece of mail looks like from the outside, including before any scan exists. Also use this to refresh envelope_small_url/envelope_large_url once a previously fetched link (e.g. from get_mail_item) has expired. Do not use it to view the scanned document contents (use get_mail_item_pdf_url for the scanned PDF, or get_mail_item_text for extracted text). A link is returned only for the image sizes actually available for an item (envelope_small_url, envelope_large_url); an item with no envelope photo captured yet has both omitted. Links are temporary and expire after approximately 60 minutes; each link's expiry, when available, is returned alongside it. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Generate temporary, pre-signed links to the envelope/exterior photos of one or more mail items when the user wants to see what an unopened piece of mail looks like from the outside, including before any scan exists. Also use this to refresh envelope_small_url/envelope_large_url once a previously fetched link (e.g. from get_mail_item) has expired. Do not use it to view the scanned document contents (use get_mail_item_pdf_url for the scanned PDF, or get_mail_item_text for extracted text). A link is returned only for the image sizes actually available for an item (envelope_small_url, envelope_large_url); an item with no envelope photo captured yet has both omitted. Links are temporary and expire after approximately 60 minutes; each link's expiry, when available, is returned alongside it. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to generate envelope/exterior photo links for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item Envelope Image URL"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Generate temporary, pre-signed links to the envelope/exterior photos of one or more mail items when the user wants to see what an unopened piece of mail looks like from the outside, including before any scan exists. Also use this to refresh envelope_small_url/envelope_large_url once a previously fetched link (e.g. from get_mail_item) has expired. Do not use it to view the scanned document contents (use get_mail_item_pdf_url for the scanned PDF, or get_mail_item_text for extracted text). A link is returned only for the image sizes actually available for an item (envelope_small_url, envelope_large_url); an item with no envelope photo captured yet has both omitted. Links are temporary and expire after approximately 60 minutes; each link's expiry, when available, is returned alongside it. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to generate envelope/exterior photo links for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item Envelope Image URL"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Generate temporary, pre-signed links to the envelope/exterior photos of one or more mail items when the user wants to see what an unopened piece of mail looks like from the outside, including before any scan exists. Also use this to refresh envelope_small_url/envelope_large_url once a previously fetched link (e.g. from get_mail_item) has expired. Do not use it to view the scanned document contents (use get_mail_item_pdf_url for the scanned PDF, or get_mail_item_text for extracted text). A link is returned only for the image sizes actually available for an item (envelope_small_url, envelope_large_url); an item with no envelope photo captured yet has both omitted. Links are temporary and expire after approximately 60 minutes; each link's expiry, when available, is returned alongside it. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to generate envelope/exterior photo links for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item Envelope Image URL"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Generate temporary, pre-signed links to the envelope/exterior photos of one or more mail items when the user wants to see what an unopened piece of mail looks like from the outside, including before any scan exists. Also use this to refresh envelope_small_url/envelope_large_url once a previously fetched link (e.g. from get_mail_item) has expired. Do not use it to view the scanned document contents (use get_mail_item_pdf_url for the scanned PDF, or get_mail_item_text for extracted text). A link is returned only for the image sizes actually available for an item (envelope_small_url, envelope_large_url); an item with no envelope photo captured yet has both omitted. Links are temporary and expire after approximately 60 minutes; each link's expiry, when available, is returned alongside it. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to generate envelope/exterior photo links for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item Envelope Image URL"
            }
          }
        }
      ]
    },
    {
      "name": "get_mail_item_history",
      "title": "Get Mail Item History",
      "summary": "Retrieve the chronological event timeline for one mail item: received, scanned, shipped, deposited, moved, tagged. Use when the user asks what has happened to an item, its current progress, or whether it is stuck. Do not use it to get item metadata or status fields (use get_mail_item), or to read item contents (use get_mail_item_text). Requires pmb (from list_inboxes) and a known mail_item_id (from list_mail_items). Returns paginated history entries ordered chronologically, plus total_count, page, and has_next_page for paging. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the chronological event timeline for one mail item: received, scanned, shipped, deposited, moved, tagged. Use when the user asks what has happened to an item, its current progress, or whether it is stuck. Do not use it to get item metadata or status fields (use get_mail_item), or to read item contents (use get_mail_item_text). Requires pmb (from list_inboxes) and a known mail_item_id (from list_mail_items). Returns paginated history entries ordered chronologically, plus total_count, page, and has_next_page for paging. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "mail_item_id": {
                  "type": "string",
                  "description": "the numeric item ID whose history is wanted; obtain from list_mail_items"
                },
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the item; obtain from list_inboxes"
                },
                "page": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "1-based page number; defaults to 1 when omitted",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "page_size": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "number of history entries per page; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "mail_item_id",
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item History"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the chronological event timeline for one mail item: received, scanned, shipped, deposited, moved, tagged. Use when the user asks what has happened to an item, its current progress, or whether it is stuck. Do not use it to get item metadata or status fields (use get_mail_item), or to read item contents (use get_mail_item_text). Requires pmb (from list_inboxes) and a known mail_item_id (from list_mail_items). Returns paginated history entries ordered chronologically, plus total_count, page, and has_next_page for paging. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "mail_item_id": {
                  "type": "string",
                  "description": "the numeric item ID whose history is wanted; obtain from list_mail_items"
                },
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the item; obtain from list_inboxes"
                },
                "page": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "1-based page number; defaults to 1 when omitted",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "page_size": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "number of history entries per page; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "mail_item_id",
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item History"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the chronological event timeline for one mail item: received, scanned, shipped, deposited, moved, tagged. Use when the user asks what has happened to an item, its current progress, or whether it is stuck. Do not use it to get item metadata or status fields (use get_mail_item), or to read item contents (use get_mail_item_text). Requires pmb (from list_inboxes) and a known mail_item_id (from list_mail_items). Returns paginated history entries ordered chronologically, plus total_count, page, and has_next_page for paging. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "mail_item_id": {
                  "type": "string",
                  "description": "the numeric item ID whose history is wanted; obtain from list_mail_items"
                },
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the item; obtain from list_inboxes"
                },
                "page": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "1-based page number; defaults to 1 when omitted",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "page_size": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "number of history entries per page; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "mail_item_id",
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item History"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the chronological event timeline for one mail item: received, scanned, shipped, deposited, moved, tagged. Use when the user asks what has happened to an item, its current progress, or whether it is stuck. Do not use it to get item metadata or status fields (use get_mail_item), or to read item contents (use get_mail_item_text). Requires pmb (from list_inboxes) and a known mail_item_id (from list_mail_items). Returns paginated history entries ordered chronologically, plus total_count, page, and has_next_page for paging. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "mail_item_id": {
                  "type": "string",
                  "description": "the numeric item ID whose history is wanted; obtain from list_mail_items"
                },
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the item; obtain from list_inboxes"
                },
                "page": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "1-based page number; defaults to 1 when omitted",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "page_size": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "number of history entries per page; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "mail_item_id",
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item History"
            }
          }
        }
      ]
    },
    {
      "name": "get_mail_item_pdf_url",
      "title": "Get Mail Item PDF URL",
      "summary": "Generate temporary, pre-signed links to scanned PDF files for one or more mail items when access to the actual scanned documents is needed, rather than only extracted text. Also use this to refresh pdf_url once a previously fetched link (e.g. from get_mail_item) has expired. For reading, summarizing, or searching document text, get_mail_item_text is usually the appropriate tool. Do not use it to view the envelope/exterior appearance of a piece of mail (use get_mail_item_envelope_image_url). A link is returned only for items whose scan is available; an item that has not been scanned yet, or whose scan is still in progress, has no PDF yet, and is returned without a link. Links are temporary and expire after approximately 60 minutes; each link's expiry, when available, is returned in expires_at. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Generate temporary, pre-signed links to scanned PDF files for one or more mail items when access to the actual scanned documents is needed, rather than only extracted text. Also use this to refresh pdf_url once a previously fetched link (e.g. from get_mail_item) has expired. For reading, summarizing, or searching document text, get_mail_item_text is usually the appropriate tool. Do not use it to view the envelope/exterior appearance of a piece of mail (use get_mail_item_envelope_image_url). A link is returned only for items whose scan is available; an item that has not been scanned yet, or whose scan is still in progress, has no PDF yet, and is returned without a link. Links are temporary and expire after approximately 60 minutes; each link's expiry, when available, is returned in expires_at. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more scanned mail item IDs to generate PDF links for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item PDF URL"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Generate temporary, pre-signed links to scanned PDF files for one or more mail items when access to the actual scanned documents is needed, rather than only extracted text. Also use this to refresh pdf_url once a previously fetched link (e.g. from get_mail_item) has expired. For reading, summarizing, or searching document text, get_mail_item_text is usually the appropriate tool. Do not use it to view the envelope/exterior appearance of a piece of mail (use get_mail_item_envelope_image_url). A link is returned only for items whose scan is available; an item that has not been scanned yet, or whose scan is still in progress, has no PDF yet, and is returned without a link. Links are temporary and expire after approximately 60 minutes; each link's expiry, when available, is returned in expires_at. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more scanned mail item IDs to generate PDF links for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item PDF URL"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Generate temporary, pre-signed links to scanned PDF files for one or more mail items when access to the actual scanned documents is needed, rather than only extracted text. Also use this to refresh pdf_url once a previously fetched link (e.g. from get_mail_item) has expired. For reading, summarizing, or searching document text, get_mail_item_text is usually the appropriate tool. Do not use it to view the envelope/exterior appearance of a piece of mail (use get_mail_item_envelope_image_url). A link is returned only for items whose scan is available; an item that has not been scanned yet, or whose scan is still in progress, has no PDF yet, and is returned without a link. Links are temporary and expire after approximately 60 minutes; each link's expiry, when available, is returned in expires_at. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more scanned mail item IDs to generate PDF links for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item PDF URL"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Generate temporary, pre-signed links to scanned PDF files for one or more mail items when access to the actual scanned documents is needed, rather than only extracted text. Also use this to refresh pdf_url once a previously fetched link (e.g. from get_mail_item) has expired. For reading, summarizing, or searching document text, get_mail_item_text is usually the appropriate tool. Do not use it to view the envelope/exterior appearance of a piece of mail (use get_mail_item_envelope_image_url). A link is returned only for items whose scan is available; an item that has not been scanned yet, or whose scan is still in progress, has no PDF yet, and is returned without a link. Links are temporary and expire after approximately 60 minutes; each link's expiry, when available, is returned in expires_at. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more scanned mail item IDs to generate PDF links for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item PDF URL"
            }
          }
        }
      ]
    },
    {
      "name": "get_mail_item_text",
      "title": "Get Mail Item Text",
      "summary": "Retrieve the OCR-extracted text of one scanned mail item. Use when the user wants to read, summarize, search, or ask questions about the item's contents. Do not use it to obtain a downloadable file (use get_mail_item_pdf_url) or item metadata (use get_mail_item). Requires pmb (from list_inboxes) and a known mail_item_id (from list_mail_items), and the item must already be scanned. Returns up to 5 pages per call using start_page and page_count, plus total_pages for paging through longer items. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the OCR-extracted text of one scanned mail item. Use when the user wants to read, summarize, search, or ask questions about the item's contents. Do not use it to obtain a downloadable file (use get_mail_item_pdf_url) or item metadata (use get_mail_item). Requires pmb (from list_inboxes) and a known mail_item_id (from list_mail_items), and the item must already be scanned. Returns up to 5 pages per call using start_page and page_count, plus total_pages for paging through longer items. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "mail_item_id": {
                  "type": "string",
                  "description": "the numeric item ID; obtain from list_mail_items"
                },
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the owning inbox; obtain from list_inboxes"
                },
                "start_page": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "1-based first page to return; omit to start from page 1"
                },
                "page_count": {
                  "type": "integer",
                  "description": "maximum pages to return starting at start_page (1 to 5); page through a longer item by raising start_page"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "mail_item_id",
                "pmb",
                "page_count"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item Text"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the OCR-extracted text of one scanned mail item. Use when the user wants to read, summarize, search, or ask questions about the item's contents. Do not use it to obtain a downloadable file (use get_mail_item_pdf_url) or item metadata (use get_mail_item). Requires pmb (from list_inboxes) and a known mail_item_id (from list_mail_items), and the item must already be scanned. Returns up to 5 pages per call using start_page and page_count, plus total_pages for paging through longer items. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "mail_item_id": {
                  "type": "string",
                  "description": "the numeric item ID; obtain from list_mail_items"
                },
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the owning inbox; obtain from list_inboxes"
                },
                "start_page": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "1-based first page to return; omit to start from page 1"
                },
                "page_count": {
                  "type": "integer",
                  "description": "maximum pages to return starting at start_page (1 to 5); page through a longer item by raising start_page"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "mail_item_id",
                "pmb",
                "page_count"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item Text"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the OCR-extracted text of one scanned mail item. Use when the user wants to read, summarize, search, or ask questions about the item's contents. Do not use it to obtain a downloadable file (use get_mail_item_pdf_url) or item metadata (use get_mail_item). Requires pmb (from list_inboxes) and a known mail_item_id (from list_mail_items), and the item must already be scanned. Returns up to 5 pages per call using start_page and page_count, plus total_pages for paging through longer items. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "mail_item_id": {
                  "type": "string",
                  "description": "the numeric item ID; obtain from list_mail_items"
                },
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the owning inbox; obtain from list_inboxes"
                },
                "start_page": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "1-based first page to return; omit to start from page 1"
                },
                "page_count": {
                  "type": "integer",
                  "description": "maximum pages to return starting at start_page (1 to 5); page through a longer item by raising start_page"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "mail_item_id",
                "pmb",
                "page_count"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item Text"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the OCR-extracted text of one scanned mail item. Use when the user wants to read, summarize, search, or ask questions about the item's contents. Do not use it to obtain a downloadable file (use get_mail_item_pdf_url) or item metadata (use get_mail_item). Requires pmb (from list_inboxes) and a known mail_item_id (from list_mail_items), and the item must already be scanned. Returns up to 5 pages per call using start_page and page_count, plus total_pages for paging through longer items. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "mail_item_id": {
                  "type": "string",
                  "description": "the numeric item ID; obtain from list_mail_items"
                },
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the owning inbox; obtain from list_inboxes"
                },
                "start_page": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "1-based first page to return; omit to start from page 1"
                },
                "page_count": {
                  "type": "integer",
                  "description": "maximum pages to return starting at start_page (1 to 5); page through a longer item by raising start_page"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "mail_item_id",
                "pmb",
                "page_count"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Mail Item Text"
            }
          }
        }
      ]
    },
    {
      "name": "get_shipment_by_mail_item",
      "title": "Get Shipment By Mail Item",
      "summary": "Retrieve the shipment(s) that carry one or more mail items: status, tracking number and link, carrier, rate, destination address, ship and delivery dates, and the mail items included in each shipment. Use when the user asks about the shipment or package for a piece of mail they can point to — \"where's my package?\", \"did this letter get forwarded?\", \"track the shipment for this item.\" Do not use it to browse or search a mailbox's mail (use list_mail_items) or to fetch a mail item's own metadata (use get_mail_item); it returns shipping data, not the mail item. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Returns the distinct shipments covering the requested items, deduplicated by shipment id, so several items sharing one shipment yield a single entry; a mail item that has never been shipped contributes no shipment. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the shipment(s) that carry one or more mail items: status, tracking number and link, carrier, rate, destination address, ship and delivery dates, and the mail items included in each shipment. Use when the user asks about the shipment or package for a piece of mail they can point to — \"where's my package?\", \"did this letter get forwarded?\", \"track the shipment for this item.\" Do not use it to browse or search a mailbox's mail (use list_mail_items) or to fetch a mail item's own metadata (use get_mail_item); it returns shipping data, not the mail item. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Returns the distinct shipments covering the requested items, deduplicated by shipment id, so several items sharing one shipment yield a single entry; a mail item that has never been shipped contributes no shipment. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs (each a positive integer, as a string) to resolve shipments for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Shipment By Mail Item"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the shipment(s) that carry one or more mail items: status, tracking number and link, carrier, rate, destination address, ship and delivery dates, and the mail items included in each shipment. Use when the user asks about the shipment or package for a piece of mail they can point to — \"where's my package?\", \"did this letter get forwarded?\", \"track the shipment for this item.\" Do not use it to browse or search a mailbox's mail (use list_mail_items) or to fetch a mail item's own metadata (use get_mail_item); it returns shipping data, not the mail item. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Returns the distinct shipments covering the requested items, deduplicated by shipment id, so several items sharing one shipment yield a single entry; a mail item that has never been shipped contributes no shipment. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs (each a positive integer, as a string) to resolve shipments for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Shipment By Mail Item"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the shipment(s) that carry one or more mail items: status, tracking number and link, carrier, rate, destination address, ship and delivery dates, and the mail items included in each shipment. Use when the user asks about the shipment or package for a piece of mail they can point to — \"where's my package?\", \"did this letter get forwarded?\", \"track the shipment for this item.\" Do not use it to browse or search a mailbox's mail (use list_mail_items) or to fetch a mail item's own metadata (use get_mail_item); it returns shipping data, not the mail item. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Returns the distinct shipments covering the requested items, deduplicated by shipment id, so several items sharing one shipment yield a single entry; a mail item that has never been shipped contributes no shipment. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs (each a positive integer, as a string) to resolve shipments for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Shipment By Mail Item"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Retrieve the shipment(s) that carry one or more mail items: status, tracking number and link, carrier, rate, destination address, ship and delivery dates, and the mail items included in each shipment. Use when the user asks about the shipment or package for a piece of mail they can point to — \"where's my package?\", \"did this letter get forwarded?\", \"track the shipment for this item.\" Do not use it to browse or search a mailbox's mail (use list_mail_items) or to fetch a mail item's own metadata (use get_mail_item); it returns shipping data, not the mail item. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Returns the distinct shipments covering the requested items, deduplicated by shipment id, so several items sharing one shipment yield a single entry; a mail item that has never been shipped contributes no shipment. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs (each a positive integer, as a string) to resolve shipments for; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Get Shipment By Mail Item"
            }
          }
        }
      ]
    },
    {
      "name": "list_folders",
      "title": "List Folders",
      "summary": "List all folders in an inbox — both the built-in system folders (Inbox, All Mail, Archive, Trash, Junk Mail) and the user-created custom folders — each with its id, name, type, and unread/total piece counts where available. Use to resolve a folder name to the id you pass as folder_id to list_mail_items or move tools. Requires pmb (from list_inboxes). Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List all folders in an inbox — both the built-in system folders (Inbox, All Mail, Archive, Trash, Junk Mail) and the user-created custom folders — each with its id, name, type, and unread/total piece counts where available. Use to resolve a folder name to the id you pass as folder_id to list_mail_items or move tools. Requires pmb (from list_inboxes). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose folders to list; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Folders"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List all folders in an inbox — both the built-in system folders (Inbox, All Mail, Archive, Trash, Junk Mail) and the user-created custom folders — each with its id, name, type, and unread/total piece counts where available. Use to resolve a folder name to the id you pass as folder_id to list_mail_items or move tools. Requires pmb (from list_inboxes). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose folders to list; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Folders"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List all folders in an inbox — both the built-in system folders (Inbox, All Mail, Archive, Trash, Junk Mail) and the user-created custom folders — each with its id, name, type, and unread/total piece counts where available. Use to resolve a folder name to the id you pass as folder_id to list_mail_items or move tools. Requires pmb (from list_inboxes). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose folders to list; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Folders"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List all folders in an inbox — both the built-in system folders (Inbox, All Mail, Archive, Trash, Junk Mail) and the user-created custom folders — each with its id, name, type, and unread/total piece counts where available. Use to resolve a folder name to the id you pass as folder_id to list_mail_items or move tools. Requires pmb (from list_inboxes). Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose folders to list; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Folders"
            }
          }
        }
      ]
    },
    {
      "name": "list_inboxes",
      "title": "List Inboxes",
      "summary": "List the virtual mail inboxes accessible to the authenticated user. Each result includes the PMB (Private Mail Box number), account name, and unread and total mail counts. The PMB returned by this tool is the inbox identifier required by tools that operate on a specific inbox. This tool does not fetch mail items, recipients, or account details. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the virtual mail inboxes accessible to the authenticated user. Each result includes the PMB (Private Mail Box number), account name, and unread and total mail counts. The PMB returned by this tool is the inbox identifier required by tools that operate on a specific inbox. This tool does not fetch mail items, recipients, or account details. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Inboxes"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the virtual mail inboxes accessible to the authenticated user. Each result includes the PMB (Private Mail Box number), account name, and unread and total mail counts. The PMB returned by this tool is the inbox identifier required by tools that operate on a specific inbox. This tool does not fetch mail items, recipients, or account details. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Inboxes"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the virtual mail inboxes accessible to the authenticated user. Each result includes the PMB (Private Mail Box number), account name, and unread and total mail counts. The PMB returned by this tool is the inbox identifier required by tools that operate on a specific inbox. This tool does not fetch mail items, recipients, or account details. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Inboxes"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the virtual mail inboxes accessible to the authenticated user. Each result includes the PMB (Private Mail Box number), account name, and unread and total mail counts. The PMB returned by this tool is the inbox identifier required by tools that operate on a specific inbox. This tool does not fetch mail items, recipients, or account details. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Inboxes"
            }
          }
        }
      ]
    },
    {
      "name": "list_mail_items",
      "title": "List Mail Items",
      "summary": "Search and list mail items within one inbox, filtering by recipient, folder, status, tag and/or matching free text across sender, recipient, and scanned content. Use when the user wants to find, browse, or count mail and does not have a specific item ID (\"the letter from the IRS,\" \"what came in last week,\" \"any checks?\"). Do not use it when you already have a mail_item_id (use get_mail_item) or to read one item's full text (use get_mail_item_text). Requires pmb (from list_inboxes). Returns matching items with IDs, sender, dates, and status; for already-scanned items on AI-features accounts each item also includes the AI-derived document type (e.g. \"Bank Statement\") and a short summary. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Search and list mail items within one inbox, filtering by recipient, folder, status, tag and/or matching free text across sender, recipient, and scanned content. Use when the user wants to find, browse, or count mail and does not have a specific item ID (\"the letter from the IRS,\" \"what came in last week,\" \"any checks?\"). Do not use it when you already have a mail_item_id (use get_mail_item) or to read one item's full text (use get_mail_item_text). Requires pmb (from list_inboxes). Returns matching items with IDs, sender, dates, and status; for already-scanned items on AI-features accounts each item also includes the AI-derived document type (e.g. \"Bank Statement\") and a short summary. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to search; obtain from list_inboxes"
                },
                "search_text": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Free text to search across sender, recipient, and scanned content"
                },
                "physical_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by physical status; allowed values: IN_STORAGE, STORAGE_FEE, SHRED_REQUESTED, SHRED_IN_PROGRESS, SHRED_COMPLETED, SHIP_REQUESTED, SHIP_IN_PROGRESS, SHIP_COMPLETED, VIRTUAL_MAIL"
                },
                "digital_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by digital status; allowed values: NO_SCAN, SCAN_REQUESTED, SCAN_IN_PROGRESS, SCAN_COMPLETED, ACTIONS_BLOCKED_NO_REVERIFICATION, ACTIONS_BLOCKED_DOCUMENT_EXPIRED, SCAN_THRESHOLD_EXCEEDED"
                },
                "check_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by check status; allowed values: NO_CHECK, CHECK_DETECTED, DEPOSIT_REQUESTED, DEPOSIT_COMPLETED, DEPOSIT_ERROR, DEPOSIT_PENDING, MULTIPLE_CHECKS_DETECTED, SEPARATE_CHECKS_REQUESTED, SEPARATE_CHECKS_PENDING, SEPARATE_CHECKS_COMPLETED"
                },
                "flags": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by flags; allowed values: CHECK_DETECTED, MEDIA_DETECTED, OUTSTANDING_STORAGE_FEE, JUNK_MAIL_DETECTED"
                },
                "viewed": {
                  "type": [
                    "null",
                    "boolean"
                  ],
                  "description": "Filter by viewed status; true = viewed only, false = unviewed only"
                },
                "folder_id": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Filter by folder: a system folder name (INBOX, ARCHIVE, TRASH, JUNKMAIL, or ALL for every folder) or a recipient folder ID from list_folders. Defaults to INBOX when omitted"
                },
                "recipient_id": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Filter by recipient ID; resolve names to IDs via list_recipients"
                },
                "tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "Filter by tag IDs; resolve tag names to IDs via list_tags"
                },
                "sort_by": {
                  "type": "string",
                  "description": "Sort field; allowed values: RECEIVED_AT, RECIPIENT_NAME, SENDER_NAME"
                },
                "sort_desc": {
                  "type": "boolean",
                  "description": "Sort direction: true = descending (RECEIVED_AT newest first, names Z to A), false = ascending (oldest first, names A to Z)"
                },
                "first": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Return at most this many items from the start of the result set; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "after": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Cursor from page_info.end_cursor; return items after this cursor"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "sort_by",
                "sort_desc"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Mail Items"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Search and list mail items within one inbox, filtering by recipient, folder, status, tag and/or matching free text across sender, recipient, and scanned content. Use when the user wants to find, browse, or count mail and does not have a specific item ID (\"the letter from the IRS,\" \"what came in last week,\" \"any checks?\"). Do not use it when you already have a mail_item_id (use get_mail_item) or to read one item's full text (use get_mail_item_text). Requires pmb (from list_inboxes). Returns matching items with IDs, sender, dates, and status; for already-scanned items on AI-features accounts each item also includes the AI-derived document type (e.g. \"Bank Statement\") and a short summary. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to search; obtain from list_inboxes"
                },
                "search_text": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Free text to search across sender, recipient, and scanned content"
                },
                "physical_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by physical status; allowed values: IN_STORAGE, STORAGE_FEE, SHRED_REQUESTED, SHRED_IN_PROGRESS, SHRED_COMPLETED, SHIP_REQUESTED, SHIP_IN_PROGRESS, SHIP_COMPLETED, VIRTUAL_MAIL"
                },
                "digital_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by digital status; allowed values: NO_SCAN, SCAN_REQUESTED, SCAN_IN_PROGRESS, SCAN_COMPLETED, ACTIONS_BLOCKED_NO_REVERIFICATION, ACTIONS_BLOCKED_DOCUMENT_EXPIRED, SCAN_THRESHOLD_EXCEEDED"
                },
                "check_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by check status; allowed values: NO_CHECK, CHECK_DETECTED, DEPOSIT_REQUESTED, DEPOSIT_COMPLETED, DEPOSIT_ERROR, DEPOSIT_PENDING, MULTIPLE_CHECKS_DETECTED, SEPARATE_CHECKS_REQUESTED, SEPARATE_CHECKS_PENDING, SEPARATE_CHECKS_COMPLETED"
                },
                "flags": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by flags; allowed values: CHECK_DETECTED, MEDIA_DETECTED, OUTSTANDING_STORAGE_FEE, JUNK_MAIL_DETECTED"
                },
                "viewed": {
                  "type": [
                    "null",
                    "boolean"
                  ],
                  "description": "Filter by viewed status; true = viewed only, false = unviewed only"
                },
                "folder_id": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Filter by folder: a system folder name (INBOX, ARCHIVE, TRASH, JUNKMAIL, or ALL for every folder) or a recipient folder ID from list_folders. Defaults to INBOX when omitted"
                },
                "recipient_id": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Filter by recipient ID; resolve names to IDs via list_recipients"
                },
                "tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "Filter by tag IDs; resolve tag names to IDs via list_tags"
                },
                "sort_by": {
                  "type": "string",
                  "description": "Sort field; allowed values: RECEIVED_AT, RECIPIENT_NAME, SENDER_NAME"
                },
                "sort_desc": {
                  "type": "boolean",
                  "description": "Sort direction: true = descending (RECEIVED_AT newest first, names Z to A), false = ascending (oldest first, names A to Z)"
                },
                "first": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Return at most this many items from the start of the result set; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "after": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Cursor from page_info.end_cursor; return items after this cursor"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "sort_by",
                "sort_desc"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Mail Items"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Search and list mail items within one inbox, filtering by recipient, folder, status, tag and/or matching free text across sender, recipient, and scanned content. Use when the user wants to find, browse, or count mail and does not have a specific item ID (\"the letter from the IRS,\" \"what came in last week,\" \"any checks?\"). Do not use it when you already have a mail_item_id (use get_mail_item) or to read one item's full text (use get_mail_item_text). Requires pmb (from list_inboxes). Returns matching items with IDs, sender, dates, and status; for already-scanned items on AI-features accounts each item also includes the AI-derived document type (e.g. \"Bank Statement\") and a short summary. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to search; obtain from list_inboxes"
                },
                "search_text": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Free text to search across sender, recipient, and scanned content"
                },
                "physical_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by physical status; allowed values: IN_STORAGE, STORAGE_FEE, SHRED_REQUESTED, SHRED_IN_PROGRESS, SHRED_COMPLETED, SHIP_REQUESTED, SHIP_IN_PROGRESS, SHIP_COMPLETED, VIRTUAL_MAIL"
                },
                "digital_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by digital status; allowed values: NO_SCAN, SCAN_REQUESTED, SCAN_IN_PROGRESS, SCAN_COMPLETED, ACTIONS_BLOCKED_NO_REVERIFICATION, ACTIONS_BLOCKED_DOCUMENT_EXPIRED, SCAN_THRESHOLD_EXCEEDED"
                },
                "check_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by check status; allowed values: NO_CHECK, CHECK_DETECTED, DEPOSIT_REQUESTED, DEPOSIT_COMPLETED, DEPOSIT_ERROR, DEPOSIT_PENDING, MULTIPLE_CHECKS_DETECTED, SEPARATE_CHECKS_REQUESTED, SEPARATE_CHECKS_PENDING, SEPARATE_CHECKS_COMPLETED"
                },
                "flags": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by flags; allowed values: CHECK_DETECTED, MEDIA_DETECTED, OUTSTANDING_STORAGE_FEE, JUNK_MAIL_DETECTED"
                },
                "viewed": {
                  "type": [
                    "null",
                    "boolean"
                  ],
                  "description": "Filter by viewed status; true = viewed only, false = unviewed only"
                },
                "folder_id": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Filter by folder: a system folder name (INBOX, ARCHIVE, TRASH, JUNKMAIL, or ALL for every folder) or a recipient folder ID from list_folders. Defaults to INBOX when omitted"
                },
                "recipient_id": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Filter by recipient ID; resolve names to IDs via list_recipients"
                },
                "tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "Filter by tag IDs; resolve tag names to IDs via list_tags"
                },
                "sort_by": {
                  "type": "string",
                  "description": "Sort field; allowed values: RECEIVED_AT, RECIPIENT_NAME, SENDER_NAME"
                },
                "sort_desc": {
                  "type": "boolean",
                  "description": "Sort direction: true = descending (RECEIVED_AT newest first, names Z to A), false = ascending (oldest first, names A to Z)"
                },
                "first": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Return at most this many items from the start of the result set; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "after": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Cursor from page_info.end_cursor; return items after this cursor"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "sort_by",
                "sort_desc"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Mail Items"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Search and list mail items within one inbox, filtering by recipient, folder, status, tag and/or matching free text across sender, recipient, and scanned content. Use when the user wants to find, browse, or count mail and does not have a specific item ID (\"the letter from the IRS,\" \"what came in last week,\" \"any checks?\"). Do not use it when you already have a mail_item_id (use get_mail_item) or to read one item's full text (use get_mail_item_text). Requires pmb (from list_inboxes). Returns matching items with IDs, sender, dates, and status; for already-scanned items on AI-features accounts each item also includes the AI-derived document type (e.g. \"Bank Statement\") and a short summary. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox to search; obtain from list_inboxes"
                },
                "search_text": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Free text to search across sender, recipient, and scanned content"
                },
                "physical_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by physical status; allowed values: IN_STORAGE, STORAGE_FEE, SHRED_REQUESTED, SHRED_IN_PROGRESS, SHRED_COMPLETED, SHIP_REQUESTED, SHIP_IN_PROGRESS, SHIP_COMPLETED, VIRTUAL_MAIL"
                },
                "digital_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by digital status; allowed values: NO_SCAN, SCAN_REQUESTED, SCAN_IN_PROGRESS, SCAN_COMPLETED, ACTIONS_BLOCKED_NO_REVERIFICATION, ACTIONS_BLOCKED_DOCUMENT_EXPIRED, SCAN_THRESHOLD_EXCEEDED"
                },
                "check_status_in": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by check status; allowed values: NO_CHECK, CHECK_DETECTED, DEPOSIT_REQUESTED, DEPOSIT_COMPLETED, DEPOSIT_ERROR, DEPOSIT_PENDING, MULTIPLE_CHECKS_DETECTED, SEPARATE_CHECKS_REQUESTED, SEPARATE_CHECKS_PENDING, SEPARATE_CHECKS_COMPLETED"
                },
                "flags": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "Filter by flags; allowed values: CHECK_DETECTED, MEDIA_DETECTED, OUTSTANDING_STORAGE_FEE, JUNK_MAIL_DETECTED"
                },
                "viewed": {
                  "type": [
                    "null",
                    "boolean"
                  ],
                  "description": "Filter by viewed status; true = viewed only, false = unviewed only"
                },
                "folder_id": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Filter by folder: a system folder name (INBOX, ARCHIVE, TRASH, JUNKMAIL, or ALL for every folder) or a recipient folder ID from list_folders. Defaults to INBOX when omitted"
                },
                "recipient_id": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Filter by recipient ID; resolve names to IDs via list_recipients"
                },
                "tag_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "description": "Filter by tag IDs; resolve tag names to IDs via list_tags"
                },
                "sort_by": {
                  "type": "string",
                  "description": "Sort field; allowed values: RECEIVED_AT, RECIPIENT_NAME, SENDER_NAME"
                },
                "sort_desc": {
                  "type": "boolean",
                  "description": "Sort direction: true = descending (RECEIVED_AT newest first, names Z to A), false = ascending (oldest first, names A to Z)"
                },
                "first": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Return at most this many items from the start of the result set; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "after": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Cursor from page_info.end_cursor; return items after this cursor"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "sort_by",
                "sort_desc"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Mail Items"
            }
          }
        }
      ]
    },
    {
      "name": "list_recipients",
      "title": "List Recipients",
      "summary": "List the recipients - the named people or businesses that receive mail - configured on an inbox, each with its ID and name. Use to resolve a recipient name to its ID before filtering mail by recipient or transferring mail, or when the user asks who is set up on the inbox. Do not use it to list a recipient's mail (use list_mail_items with recipient_id) or to add, rename, or remove recipients (not supported). Requires pmb (from list_inboxes). Returns the recipients on the inbox with their IDs and names. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the recipients - the named people or businesses that receive mail - configured on an inbox, each with its ID and name. Use to resolve a recipient name to its ID before filtering mail by recipient or transferring mail, or when the user asks who is set up on the inbox. Do not use it to list a recipient's mail (use list_mail_items with recipient_id) or to add, rename, or remove recipients (not supported). Requires pmb (from list_inboxes). Returns the recipients on the inbox with their IDs and names. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose recipients to list; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Recipients"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the recipients - the named people or businesses that receive mail - configured on an inbox, each with its ID and name. Use to resolve a recipient name to its ID before filtering mail by recipient or transferring mail, or when the user asks who is set up on the inbox. Do not use it to list a recipient's mail (use list_mail_items with recipient_id) or to add, rename, or remove recipients (not supported). Requires pmb (from list_inboxes). Returns the recipients on the inbox with their IDs and names. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose recipients to list; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Recipients"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the recipients - the named people or businesses that receive mail - configured on an inbox, each with its ID and name. Use to resolve a recipient name to its ID before filtering mail by recipient or transferring mail, or when the user asks who is set up on the inbox. Do not use it to list a recipient's mail (use list_mail_items with recipient_id) or to add, rename, or remove recipients (not supported). Requires pmb (from list_inboxes). Returns the recipients on the inbox with their IDs and names. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose recipients to list; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Recipients"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the recipients - the named people or businesses that receive mail - configured on an inbox, each with its ID and name. Use to resolve a recipient name to its ID before filtering mail by recipient or transferring mail, or when the user asks who is set up on the inbox. Do not use it to list a recipient's mail (use list_mail_items with recipient_id) or to add, rename, or remove recipients (not supported). Requires pmb (from list_inboxes). Returns the recipients on the inbox with their IDs and names. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose recipients to list; obtain from list_inboxes"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Recipients"
            }
          }
        }
      ]
    },
    {
      "name": "list_tags",
      "title": "List Tags",
      "summary": "List the tags available on an inbox (optionally filtered by a name fragment via match_phrase), returning tag IDs and labels. Use to resolve a tag name to its ID before filtering mail with list_mail_items or applying tags with apply_mail_items_tags. Requires pmb (from list_inboxes). Results are paginated (first/after), defaulting to 20 per page. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the tags available on an inbox (optionally filtered by a name fragment via match_phrase), returning tag IDs and labels. Use to resolve a tag name to its ID before filtering mail with list_mail_items or applying tags with apply_mail_items_tags. Requires pmb (from list_inboxes). Results are paginated (first/after), defaulting to 20 per page. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose tags to list; obtain from list_inboxes"
                },
                "match_phrase": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Substring to filter tag labels by; omit to list all tags"
                },
                "first": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Return at most this many tags from the start of the result set; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "after": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Cursor from page_info.end_cursor; return tags after this cursor"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Tags"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the tags available on an inbox (optionally filtered by a name fragment via match_phrase), returning tag IDs and labels. Use to resolve a tag name to its ID before filtering mail with list_mail_items or applying tags with apply_mail_items_tags. Requires pmb (from list_inboxes). Results are paginated (first/after), defaulting to 20 per page. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose tags to list; obtain from list_inboxes"
                },
                "match_phrase": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Substring to filter tag labels by; omit to list all tags"
                },
                "first": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Return at most this many tags from the start of the result set; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "after": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Cursor from page_info.end_cursor; return tags after this cursor"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Tags"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the tags available on an inbox (optionally filtered by a name fragment via match_phrase), returning tag IDs and labels. Use to resolve a tag name to its ID before filtering mail with list_mail_items or applying tags with apply_mail_items_tags. Requires pmb (from list_inboxes). Results are paginated (first/after), defaulting to 20 per page. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose tags to list; obtain from list_inboxes"
                },
                "match_phrase": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Substring to filter tag labels by; omit to list all tags"
                },
                "first": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Return at most this many tags from the start of the result set; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "after": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Cursor from page_info.end_cursor; return tags after this cursor"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Tags"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "List the tags available on an inbox (optionally filtered by a name fragment via match_phrase), returning tag IDs and labels. Use to resolve a tag name to its ID before filtering mail with list_mail_items or applying tags with apply_mail_items_tags. Requires pmb (from list_inboxes). Results are paginated (first/after), defaulting to 20 per page. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox whose tags to list; obtain from list_inboxes"
                },
                "match_phrase": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Substring to filter tag labels by; omit to list all tags"
                },
                "first": {
                  "type": [
                    "null",
                    "integer"
                  ],
                  "description": "Return at most this many tags from the start of the result set; defaults to 20 when omitted, maximum 100",
                  "minimum": -2147483648,
                  "maximum": 2147483647
                },
                "after": {
                  "type": [
                    "null",
                    "string"
                  ],
                  "description": "Cursor from page_info.end_cursor; return tags after this cursor"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "List Tags"
            }
          }
        }
      ]
    },
    {
      "name": "mark_mail_items_read",
      "title": "Mark Mail Items Read",
      "summary": "Mark one or more mail items as read (viewed). Use when the user wants to clear unread status or says they have handled certain mail. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Side effect: marks the items read and lowers unread counts.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Mark one or more mail items as read (viewed). Use when the user wants to clear unread status or says they have handled certain mail. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Side effect: marks the items read and lowers unread counts.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to mark as read; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Mark Mail Items Read"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Mark one or more mail items as read (viewed). Use when the user wants to clear unread status or says they have handled certain mail. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Side effect: marks the items read and lowers unread counts.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to mark as read; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Mark Mail Items Read"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Mark one or more mail items as read (viewed). Use when the user wants to clear unread status or says they have handled certain mail. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Side effect: marks the items read and lowers unread counts.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to mark as read; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Mark Mail Items Read"
            }
          }
        }
      ]
    },
    {
      "name": "mark_mail_items_unread",
      "title": "Mark Mail Items Unread",
      "summary": "Mark one or more mail items as unread (not viewed). Use when the user wants to restore unread status on mail they have not dealt with yet. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Side effect: marks the items unread and raises unread counts.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Mark one or more mail items as unread (not viewed). Use when the user wants to restore unread status on mail they have not dealt with yet. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Side effect: marks the items unread and raises unread counts.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to mark as unread; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Mark Mail Items Unread"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Mark one or more mail items as unread (not viewed). Use when the user wants to restore unread status on mail they have not dealt with yet. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Side effect: marks the items unread and raises unread counts.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to mark as unread; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Mark Mail Items Unread"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Mark one or more mail items as unread (not viewed). Use when the user wants to restore unread status on mail they have not dealt with yet. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Side effect: marks the items unread and raises unread counts.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to mark as unread; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Mark Mail Items Unread"
            }
          }
        }
      ]
    },
    {
      "name": "move_mail_items",
      "title": "Move Mail Items",
      "summary": "Move one or more mail items to a destination: the inbox, the archive, the trash, or a recipient folder. Use when the user wants to file, archive, or trash mail. Do not use it to permanently destroy physical mail (use request_mail_items_shred) or to reassign items to a different recipient (use transfer_mail_items_to_recipient). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and a destination_folder (INBOX, ARCHIVE, TRASH, or a numeric recipient-folder id from list_folders). Side effect: relocates the items, changing where they appear.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Move one or more mail items to a destination: the inbox, the archive, the trash, or a recipient folder. Use when the user wants to file, archive, or trash mail. Do not use it to permanently destroy physical mail (use request_mail_items_shred) or to reassign items to a different recipient (use transfer_mail_items_to_recipient). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and a destination_folder (INBOX, ARCHIVE, TRASH, or a numeric recipient-folder id from list_folders). Side effect: relocates the items, changing where they appear.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to move; obtain from list_mail_items"
                },
                "destination_folder": {
                  "type": "string",
                  "description": "Destination: one of INBOX, ARCHIVE, TRASH, or a numeric recipient-folder id (as a string) from list_folders"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids",
                "destination_folder"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Move Mail Items"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Move one or more mail items to a destination: the inbox, the archive, the trash, or a recipient folder. Use when the user wants to file, archive, or trash mail. Do not use it to permanently destroy physical mail (use request_mail_items_shred) or to reassign items to a different recipient (use transfer_mail_items_to_recipient). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and a destination_folder (INBOX, ARCHIVE, TRASH, or a numeric recipient-folder id from list_folders). Side effect: relocates the items, changing where they appear.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to move; obtain from list_mail_items"
                },
                "destination_folder": {
                  "type": "string",
                  "description": "Destination: one of INBOX, ARCHIVE, TRASH, or a numeric recipient-folder id (as a string) from list_folders"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids",
                "destination_folder"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Move Mail Items"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Move one or more mail items to a destination: the inbox, the archive, the trash, or a recipient folder. Use when the user wants to file, archive, or trash mail. Do not use it to permanently destroy physical mail (use request_mail_items_shred) or to reassign items to a different recipient (use transfer_mail_items_to_recipient). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and a destination_folder (INBOX, ARCHIVE, TRASH, or a numeric recipient-folder id from list_folders). Side effect: relocates the items, changing where they appear.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to move; obtain from list_mail_items"
                },
                "destination_folder": {
                  "type": "string",
                  "description": "Destination: one of INBOX, ARCHIVE, TRASH, or a numeric recipient-folder id (as a string) from list_folders"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids",
                "destination_folder"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Move Mail Items"
            }
          }
        }
      ]
    },
    {
      "name": "ping",
      "title": "Ping",
      "summary": "Echo back the given message (prefixed with \"pong: \") as a health check. Use only to verify MCP connectivity and the request/response round-trip. Returns no customer data and touches no account state. Read-only.",
      "availability": [
        {
          "integration": "readonly",
          "latest": {
            "path": "/v2/mcp/readonly",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Echo back the given message (prefixed with \"pong: \") as a health check. Use only to verify MCP connectivity and the request/response round-trip. Returns no customer data and touches no account state. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "arbitrary text to echo back; used only to confirm the round-trip"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "message"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Ping"
            }
          }
        },
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Echo back the given message (prefixed with \"pong: \") as a health check. Use only to verify MCP connectivity and the request/response round-trip. Returns no customer data and touches no account state. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "arbitrary text to echo back; used only to confirm the round-trip"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "message"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Ping"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Echo back the given message (prefixed with \"pong: \") as a health check. Use only to verify MCP connectivity and the request/response round-trip. Returns no customer data and touches no account state. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "arbitrary text to echo back; used only to confirm the round-trip"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "message"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Ping"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Echo back the given message (prefixed with \"pong: \") as a health check. Use only to verify MCP connectivity and the request/response round-trip. Returns no customer data and touches no account state. Read-only.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "arbitrary text to echo back; used only to confirm the round-trip"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "message"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": true,
              "title": "Ping"
            }
          }
        }
      ]
    },
    {
      "name": "request_mail_items_scan",
      "title": "Request Mail Items Scan",
      "summary": "Request that the mailroom open and scan one or more physical mail items so their contents can be read; the physical originals are kept in storage afterward. Use when the user wants unscanned mail digitized (\"open and scan this,\" \"scan the letter from the IRS\"). Do not use it if the item is already scanned (scan status is available from get_mail_item), to read existing text (use get_mail_item_text), or to scan and then destroy the original (use request_mail_items_scan_then_shred). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: a scan is requested only for items where it is an available action, and any item that cannot be scanned (e.g. a scan is already in progress, the item is archived, or identity is not verified) is skipped and returned with a reason. Side effect: queues a staff-handled scan for the eligible items; the originals stay in storage and scanning is not instant.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Request that the mailroom open and scan one or more physical mail items so their contents can be read; the physical originals are kept in storage afterward. Use when the user wants unscanned mail digitized (\"open and scan this,\" \"scan the letter from the IRS\"). Do not use it if the item is already scanned (scan status is available from get_mail_item), to read existing text (use get_mail_item_text), or to scan and then destroy the original (use request_mail_items_scan_then_shred). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: a scan is requested only for items where it is an available action, and any item that cannot be scanned (e.g. a scan is already in progress, the item is archived, or identity is not verified) is skipped and returned with a reason. Side effect: queues a staff-handled scan for the eligible items; the originals stay in storage and scanning is not instant.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs to scan; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Request Mail Items Scan"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Request that the mailroom open and scan one or more physical mail items so their contents can be read; the physical originals are kept in storage afterward. Use when the user wants unscanned mail digitized (\"open and scan this,\" \"scan the letter from the IRS\"). Do not use it if the item is already scanned (scan status is available from get_mail_item), to read existing text (use get_mail_item_text), or to scan and then destroy the original (use request_mail_items_scan_then_shred). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: a scan is requested only for items where it is an available action, and any item that cannot be scanned (e.g. a scan is already in progress, the item is archived, or identity is not verified) is skipped and returned with a reason. Side effect: queues a staff-handled scan for the eligible items; the originals stay in storage and scanning is not instant.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs to scan; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Request Mail Items Scan"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Request that the mailroom open and scan one or more physical mail items so their contents can be read; the physical originals are kept in storage afterward. Use when the user wants unscanned mail digitized (\"open and scan this,\" \"scan the letter from the IRS\"). Do not use it if the item is already scanned (scan status is available from get_mail_item), to read existing text (use get_mail_item_text), or to scan and then destroy the original (use request_mail_items_scan_then_shred). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: a scan is requested only for items where it is an available action, and any item that cannot be scanned (e.g. a scan is already in progress, the item is archived, or identity is not verified) is skipped and returned with a reason. Side effect: queues a staff-handled scan for the eligible items; the originals stay in storage and scanning is not instant.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs to scan; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Request Mail Items Scan"
            }
          }
        }
      ]
    },
    {
      "name": "request_mail_items_scan_then_shred",
      "title": "Request Mail Items Scan Then Shred",
      "summary": "Request that the mailroom open and scan one or more physical mail items and then securely shred (permanently destroy) the physical originals once scanning is complete. Use when the user wants mail digitized and the paper destroyed in one step (\"scan this then shred it,\" \"scan and shred these\"). Do not use it to scan and keep the original (use request_mail_items_scan), to shred without scanning first (use request_mail_items_shred), or to read existing text (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: the operation is requested only for items where scanning is an available action, and any item that cannot be scanned (e.g. a scan is already in progress, the item is archived, or identity is not verified) is skipped and returned with a reason. Side effect: queues a staff-handled scan followed by irreversible physical destruction of the originals; scanning and shredding are not instant.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Request that the mailroom open and scan one or more physical mail items and then securely shred (permanently destroy) the physical originals once scanning is complete. Use when the user wants mail digitized and the paper destroyed in one step (\"scan this then shred it,\" \"scan and shred these\"). Do not use it to scan and keep the original (use request_mail_items_scan), to shred without scanning first (use request_mail_items_shred), or to read existing text (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: the operation is requested only for items where scanning is an available action, and any item that cannot be scanned (e.g. a scan is already in progress, the item is archived, or identity is not verified) is skipped and returned with a reason. Side effect: queues a staff-handled scan followed by irreversible physical destruction of the originals; scanning and shredding are not instant.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs to scan and then shred; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Request Mail Items Scan Then Shred"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Request that the mailroom open and scan one or more physical mail items and then securely shred (permanently destroy) the physical originals once scanning is complete. Use when the user wants mail digitized and the paper destroyed in one step (\"scan this then shred it,\" \"scan and shred these\"). Do not use it to scan and keep the original (use request_mail_items_scan), to shred without scanning first (use request_mail_items_shred), or to read existing text (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: the operation is requested only for items where scanning is an available action, and any item that cannot be scanned (e.g. a scan is already in progress, the item is archived, or identity is not verified) is skipped and returned with a reason. Side effect: queues a staff-handled scan followed by irreversible physical destruction of the originals; scanning and shredding are not instant.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs to scan and then shred; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Request Mail Items Scan Then Shred"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Request that the mailroom open and scan one or more physical mail items and then securely shred (permanently destroy) the physical originals once scanning is complete. Use when the user wants mail digitized and the paper destroyed in one step (\"scan this then shred it,\" \"scan and shred these\"). Do not use it to scan and keep the original (use request_mail_items_scan), to shred without scanning first (use request_mail_items_shred), or to read existing text (use get_mail_item_text). Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items). Each item is checked first: the operation is requested only for items where scanning is an available action, and any item that cannot be scanned (e.g. a scan is already in progress, the item is archived, or identity is not verified) is skipped and returned with a reason. Side effect: queues a staff-handled scan followed by irreversible physical destruction of the originals; scanning and shredding are not instant.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs to scan and then shred; obtain from list_mail_items"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Request Mail Items Scan Then Shred"
            }
          }
        }
      ]
    },
    {
      "name": "request_mail_items_shred",
      "title": "Request Mail Items Shred",
      "summary": "Request secure shredding (permanent physical destruction) of one or more physical mail items. Use when the user explicitly wants their physical mail destroyed (\"shred these,\" \"securely dispose of this\"). Do not use it to merely hide or declutter items (use move_mail_items to TRASH, which is reversible); shredding is irreversible. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items), and optionally post_shred_action. Each item is checked first: a shred is requested only for items where it is an available action, and any item that cannot be shredded (e.g. a shred is already in progress, it has already been shredded, or it has been shipped) is skipped and returned with a reason. Side effect: queues an irreversible, staff-handled physical destruction for the eligible items.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Request secure shredding (permanent physical destruction) of one or more physical mail items. Use when the user explicitly wants their physical mail destroyed (\"shred these,\" \"securely dispose of this\"). Do not use it to merely hide or declutter items (use move_mail_items to TRASH, which is reversible); shredding is irreversible. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items), and optionally post_shred_action. Each item is checked first: a shred is requested only for items where it is an available action, and any item that cannot be shredded (e.g. a shred is already in progress, it has already been shredded, or it has been shipped) is skipped and returned with a reason. Side effect: queues an irreversible, staff-handled physical destruction for the eligible items.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs to shred; obtain from list_mail_items"
                },
                "post_shred_action": {
                  "type": "string",
                  "description": "What to do with the item after shredding; optional, allowed values: ARCHIVE, TRASH; when omitted the item is left in its current folder"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Request Mail Items Shred"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Request secure shredding (permanent physical destruction) of one or more physical mail items. Use when the user explicitly wants their physical mail destroyed (\"shred these,\" \"securely dispose of this\"). Do not use it to merely hide or declutter items (use move_mail_items to TRASH, which is reversible); shredding is irreversible. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items), and optionally post_shred_action. Each item is checked first: a shred is requested only for items where it is an available action, and any item that cannot be shredded (e.g. a shred is already in progress, it has already been shredded, or it has been shipped) is skipped and returned with a reason. Side effect: queues an irreversible, staff-handled physical destruction for the eligible items.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs to shred; obtain from list_mail_items"
                },
                "post_shred_action": {
                  "type": "string",
                  "description": "What to do with the item after shredding; optional, allowed values: ARCHIVE, TRASH; when omitted the item is left in its current folder"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Request Mail Items Shred"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Request secure shredding (permanent physical destruction) of one or more physical mail items. Use when the user explicitly wants their physical mail destroyed (\"shred these,\" \"securely dispose of this\"). Do not use it to merely hide or declutter items (use move_mail_items to TRASH, which is reversible); shredding is irreversible. Requires pmb (from list_inboxes) and mail_item_ids (from list_mail_items), and optionally post_shred_action. Each item is checked first: a shred is requested only for items where it is an available action, and any item that cannot be shredded (e.g. a shred is already in progress, it has already been shredded, or it has been shipped) is skipped and returned with a reason. Side effect: queues an irreversible, staff-handled physical destruction for the eligible items.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more physical mail item IDs to shred; obtain from list_mail_items"
                },
                "post_shred_action": {
                  "type": "string",
                  "description": "What to do with the item after shredding; optional, allowed values: ARCHIVE, TRASH; when omitted the item is left in its current folder"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Request Mail Items Shred"
            }
          }
        }
      ]
    },
    {
      "name": "transfer_mail_items_to_recipient",
      "title": "Transfer Mail Items To Recipient",
      "summary": "Reassign one or more mail items to a different recipient on the inbox. Use on multi-recipient (business) inboxes when mail was attributed to the wrong recipient and needs to be moved to the correct one. Do not use it to move items between folders (use move_mail_items) or to change a recipient's own details (not supported). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and the target recipient_id (from list_recipients). Returns a confirmation of how many items were reassigned. Side effect: changes each item's recipient.",
      "availability": [
        {
          "integration": "chatgpt",
          "latest": {
            "path": "/v2/mcp/chatgpt",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Reassign one or more mail items to a different recipient on the inbox. Use on multi-recipient (business) inboxes when mail was attributed to the wrong recipient and needs to be moved to the correct one. Do not use it to move items between folders (use move_mail_items) or to change a recipient's own details (not supported). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and the target recipient_id (from list_recipients). Returns a confirmation of how many items were reassigned. Side effect: changes each item's recipient.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to reassign; obtain from list_mail_items"
                },
                "recipient_id": {
                  "type": "integer",
                  "description": "ID of the recipient to reassign the items to; resolve names to IDs via list_recipients"
                },
                "comment": {
                  "type": "string",
                  "description": "Free-text note recorded with the transfer"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids",
                "recipient_id"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Transfer Mail Items To Recipient"
            }
          }
        },
        {
          "integration": "claude",
          "latest": {
            "path": "/v2/mcp/claude",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Reassign one or more mail items to a different recipient on the inbox. Use on multi-recipient (business) inboxes when mail was attributed to the wrong recipient and needs to be moved to the correct one. Do not use it to move items between folders (use move_mail_items) or to change a recipient's own details (not supported). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and the target recipient_id (from list_recipients). Returns a confirmation of how many items were reassigned. Side effect: changes each item's recipient.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to reassign; obtain from list_mail_items"
                },
                "recipient_id": {
                  "type": "integer",
                  "description": "ID of the recipient to reassign the items to; resolve names to IDs via list_recipients"
                },
                "comment": {
                  "type": "string",
                  "description": "Free-text note recorded with the transfer"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids",
                "recipient_id"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Transfer Mail Items To Recipient"
            }
          }
        },
        {
          "integration": "default",
          "latest": {
            "path": "/v2/mcp",
            "auth": "jwt-bearer",
            "status": "active",
            "description": "Reassign one or more mail items to a different recipient on the inbox. Use on multi-recipient (business) inboxes when mail was attributed to the wrong recipient and needs to be moved to the correct one. Do not use it to move items between folders (use move_mail_items) or to change a recipient's own details (not supported). Requires pmb (from list_inboxes), mail_item_ids (from list_mail_items), and the target recipient_id (from list_recipients). Returns a confirmation of how many items were reassigned. Side effect: changes each item's recipient.",
            "inputSchema": {
              "type": "object",
              "properties": {
                "pmb": {
                  "type": "string",
                  "description": "Private Mail Box number of the inbox that owns the items; obtain from list_inboxes"
                },
                "mail_item_ids": {
                  "type": [
                    "null",
                    "array"
                  ],
                  "items": {
                    "type": "string"
                  },
                  "description": "One or more mail item IDs to reassign; obtain from list_mail_items"
                },
                "recipient_id": {
                  "type": "integer",
                  "description": "ID of the recipient to reassign the items to; resolve names to IDs via list_recipients"
                },
                "comment": {
                  "type": "string",
                  "description": "Free-text note recorded with the transfer"
                },
                "user_intent": {
                  "type": "string",
                  "description": "Briefly state only the generic requested action and purpose (max 200 characters). Never include, copy, or infer names of people, businesses, accounts, inbox owners, senders, or recipients; street, mailing, email, or IP addresses; PMBs, IDs, phone numbers, exact search text, document contents, secrets, private reasoning, or values from tool results"
                }
              },
              "required": [
                "pmb",
                "mail_item_ids",
                "recipient_id"
              ],
              "additionalProperties": false
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false,
              "title": "Transfer Mail Items To Recipient"
            }
          }
        }
      ]
    }
  ]
}