2979 lines
100 KiB
JSON
2979 lines
100 KiB
JSON
|
|
{
|
||
|
|
"schema_version": "v1",
|
||
|
|
"tools": [
|
||
|
|
{
|
||
|
|
"name": "add_contact",
|
||
|
|
"description": "Add a new contact to the address book.\n\nArgs:\n email: Email address of the contact\n name: Display name of the contact",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "add_group",
|
||
|
|
"description": "Add a new addressable contact group.\n\nArgs:\n email: Email address of the group\n name: Display name of the group\n members: Contact emails included in the group",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"members": {
|
||
|
|
"description": "Contact emails included in the group.",
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"minItems": 1,
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name",
|
||
|
|
"members"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "cancel_scheduled_email",
|
||
|
|
"description": "Cancel a scheduled email. The email is permanently removed.\n\nArgs:\n email_id: ID of the scheduled email to cancel",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email_id": {
|
||
|
|
"description": "Email ID.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_id"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "create_folder",
|
||
|
|
"description": "Create a new custom folder.\n\nArgs:\n folder_name: Name of the folder to create\n\nReturns:\n JSON with creation status.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"folder_name": {
|
||
|
|
"description": "Folder name.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"folder_name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "delete_contact",
|
||
|
|
"description": "Remove a contact from the address book.\n\nArgs:\n email: Email address of the contact to delete",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "delete_draft",
|
||
|
|
"description": "Delete a draft.\n\nArgs:\n draft_id: ID of the draft to delete\n\nReturns:\n JSON with deletion status.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"draft_id": {
|
||
|
|
"description": "Draft ID.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"draft_id"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "delete_emails",
|
||
|
|
"description": "Delete one or more emails.\n\nBy default, moves them to Trash. Use permanent=True to skip Trash.\nDeleting from Trash permanently deletes. Partial success is allowed \u2014\nemails that don't exist surface in the errors list but don't abort the batch.\n\nArgs:\n email_ids: IDs of the emails to delete (pass a single-element list for one)\n permanent: Permanently delete (skip Trash)\n\nReturns:\n JSON with per-id status and a deleted/failed count.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email_ids": {
|
||
|
|
"description": "One or more email IDs.",
|
||
|
|
"items": {
|
||
|
|
"description": "Email ID.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"minItems": 1,
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"permanent": {
|
||
|
|
"default": false,
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_ids"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "delete_folder",
|
||
|
|
"description": "Delete a custom folder.\n\nSystem folders (INBOX, Sent, Drafts, Trash) cannot be deleted.\nEmails in the deleted folder are moved to INBOX.\n\nArgs:\n folder_name: Name of the folder to delete\n\nReturns:\n JSON with deletion status.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"folder_name": {
|
||
|
|
"description": "Folder name.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"folder_name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "delete_group",
|
||
|
|
"description": "Remove a contact group from the address book.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "download_attachment",
|
||
|
|
"description": "Download an attachment from an email.\n\nReturns the attachment content as base64-encoded data.\n\nArgs:\n email_id: ID of the email\n filename: Name of the attachment file\n\nReturns:\n JSON with attachment data.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email_id": {
|
||
|
|
"description": "Email ID.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"filename": {
|
||
|
|
"description": "Attachment filename.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_id",
|
||
|
|
"filename"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "edit_contact",
|
||
|
|
"description": "Update an existing contact's name.\n\nArgs:\n email: Email address of the contact to update (lookup key)\n name: New display name (optional, omit to keep current)",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "edit_group",
|
||
|
|
"description": "Update an existing contact group.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"members": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"description": "Contact emails included in the group.",
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"minItems": 1,
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "export_state",
|
||
|
|
"description": "Export the full mailbox state as JSON.\n\nSingle-mailbox worlds emit ``MailboxData``; multi-mailbox worlds emit\n``MultiMailboxData``. Round-trips with import_state.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "Root schema for mock mailbox data.",
|
||
|
|
"properties": {
|
||
|
|
"mailbox": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "Identity of the mailbox owner",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the mailbox owner",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the mailbox owner",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"contacts": {
|
||
|
|
"description": "Valid contacts",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "A valid email contact in the closed-world simulation.",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the contact",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the contact",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"groups": {
|
||
|
|
"description": "Addressable contact groups",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An addressable email group in the closed-world simulation.",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the group",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the group",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"members": {
|
||
|
|
"description": "Contact emails included in the group",
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"minItems": 1,
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name",
|
||
|
|
"members"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"folders": {
|
||
|
|
"description": "Custom folders",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "A custom email folder.",
|
||
|
|
"properties": {
|
||
|
|
"name": {
|
||
|
|
"description": "Folder name",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"emails": {
|
||
|
|
"description": "All emails (including drafts in Drafts folder)",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An email message in the mailbox.",
|
||
|
|
"properties": {
|
||
|
|
"email_id": {
|
||
|
|
"description": "Unique email identifier",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"folder": {
|
||
|
|
"description": "Folder containing the email",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"subject": {
|
||
|
|
"description": "Email subject line",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"from_addr": {
|
||
|
|
"description": "Sender email address",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"to_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"description": "Recipient(s), comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"cc_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "CC recipients, comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"bcc_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "BCC recipients, comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"date": {
|
||
|
|
"description": "Date/time the email was sent",
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"message_id": {
|
||
|
|
"description": "RFC 2822 Message-ID",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"in_reply_to": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "Message-ID of the email this is replying to"
|
||
|
|
},
|
||
|
|
"body_text": {
|
||
|
|
"description": "Plain text body",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"body_html": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "HTML body"
|
||
|
|
},
|
||
|
|
"is_read": {
|
||
|
|
"default": false,
|
||
|
|
"description": "Whether the email has been read",
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
"is_important": {
|
||
|
|
"default": false,
|
||
|
|
"description": "Whether the email is marked important",
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
"labels": {
|
||
|
|
"description": "Search labels attached to the email",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"attachments": {
|
||
|
|
"description": "Email attachments",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An email attachment with base64-encoded content.",
|
||
|
|
"properties": {
|
||
|
|
"filename": {
|
||
|
|
"description": "Filename of the attachment",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"content_type": {
|
||
|
|
"description": "MIME type",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"content_base64": {
|
||
|
|
"contentEncoding": "base64",
|
||
|
|
"description": "Base64-encoded file content",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"filename",
|
||
|
|
"content_type",
|
||
|
|
"content_base64"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"scheduled_time": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "Scheduled send time (None if not scheduled)"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_id",
|
||
|
|
"folder",
|
||
|
|
"subject",
|
||
|
|
"from_addr",
|
||
|
|
"to_addr",
|
||
|
|
"date",
|
||
|
|
"message_id",
|
||
|
|
"body_text"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"next_email_id": {
|
||
|
|
"default": 1,
|
||
|
|
"description": "Next email ID counter",
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"mailbox"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "Root schema for multi-mailbox Google Mail state.",
|
||
|
|
"properties": {
|
||
|
|
"mailboxes": {
|
||
|
|
"additionalProperties": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "Root schema for mock mailbox data.",
|
||
|
|
"properties": {
|
||
|
|
"mailbox": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "Identity of the mailbox owner",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the mailbox owner",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the mailbox owner",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"contacts": {
|
||
|
|
"description": "Valid contacts",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "A valid email contact in the closed-world simulation.",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the contact",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the contact",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"groups": {
|
||
|
|
"description": "Addressable contact groups",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An addressable email group in the closed-world simulation.",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the group",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the group",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"members": {
|
||
|
|
"description": "Contact emails included in the group",
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"minItems": 1,
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name",
|
||
|
|
"members"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"folders": {
|
||
|
|
"description": "Custom folders",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "A custom email folder.",
|
||
|
|
"properties": {
|
||
|
|
"name": {
|
||
|
|
"description": "Folder name",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"emails": {
|
||
|
|
"description": "All emails (including drafts in Drafts folder)",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An email message in the mailbox.",
|
||
|
|
"properties": {
|
||
|
|
"email_id": {
|
||
|
|
"description": "Unique email identifier",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"folder": {
|
||
|
|
"description": "Folder containing the email",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"subject": {
|
||
|
|
"description": "Email subject line",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"from_addr": {
|
||
|
|
"description": "Sender email address",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"to_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"description": "Recipient(s), comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"cc_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "CC recipients, comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"bcc_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "BCC recipients, comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"date": {
|
||
|
|
"description": "Date/time the email was sent",
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"message_id": {
|
||
|
|
"description": "RFC 2822 Message-ID",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"in_reply_to": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "Message-ID of the email this is replying to"
|
||
|
|
},
|
||
|
|
"body_text": {
|
||
|
|
"description": "Plain text body",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"body_html": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "HTML body"
|
||
|
|
},
|
||
|
|
"is_read": {
|
||
|
|
"default": false,
|
||
|
|
"description": "Whether the email has been read",
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
"is_important": {
|
||
|
|
"default": false,
|
||
|
|
"description": "Whether the email is marked important",
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
"labels": {
|
||
|
|
"description": "Search labels attached to the email",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"attachments": {
|
||
|
|
"description": "Email attachments",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An email attachment with base64-encoded content.",
|
||
|
|
"properties": {
|
||
|
|
"filename": {
|
||
|
|
"description": "Filename of the attachment",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"content_type": {
|
||
|
|
"description": "MIME type",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"content_base64": {
|
||
|
|
"contentEncoding": "base64",
|
||
|
|
"description": "Base64-encoded file content",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"filename",
|
||
|
|
"content_type",
|
||
|
|
"content_base64"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"scheduled_time": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "Scheduled send time (None if not scheduled)"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_id",
|
||
|
|
"folder",
|
||
|
|
"subject",
|
||
|
|
"from_addr",
|
||
|
|
"to_addr",
|
||
|
|
"date",
|
||
|
|
"message_id",
|
||
|
|
"body_text"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"next_email_id": {
|
||
|
|
"default": 1,
|
||
|
|
"description": "Next email ID counter",
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"mailbox"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"description": "Mailbox state keyed by mailbox identifier.",
|
||
|
|
"minProperties": 1,
|
||
|
|
"propertyNames": {
|
||
|
|
"description": "Mailbox identifier",
|
||
|
|
"minLength": 1
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"mailboxes"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "forward_email",
|
||
|
|
"description": "Forward an email to one or more recipients.\n\nIncludes the original message content and any attachments.\n\nArgs:\n email_id: ID of the email to forward\n to: Recipient(s) to forward to, comma-separated\n body: Additional message (optional)\n\nReturns:\n JSON with sent status and forwarded email summary.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email_id": {
|
||
|
|
"description": "Email ID.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"to": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"body": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_id",
|
||
|
|
"to"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "get_contacts",
|
||
|
|
"description": "Get all contacts.\n\nReturns the person contacts in your address book. Groups are available\nthrough get_groups.\n\nReturns:\n JSON with contact list.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "get_drafts",
|
||
|
|
"description": "Get all drafts with pagination.\n\nArgs:\n page: Page number (1-indexed)\n page_size: Results per page (max 100)\n\nReturns:\n JSON with drafts and pagination info.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"page": {
|
||
|
|
"default": 1,
|
||
|
|
"description": "Page number, starting at 1.",
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
},
|
||
|
|
"page_size": {
|
||
|
|
"default": 20,
|
||
|
|
"description": "Number of results per page.",
|
||
|
|
"maximum": 100,
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "get_emails",
|
||
|
|
"description": "Get emails from the mailbox, optionally filtered by folder.\n\nReturns a paginated list of emails sorted by date (newest first).\n\nArgs:\n folder: Folder to filter by (optional)\n page: Page number (1-indexed)\n page_size: Results per page (max 100)\n\nReturns:\n JSON with emails and pagination info.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"folder": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"description": "Folder name.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"page": {
|
||
|
|
"default": 1,
|
||
|
|
"description": "Page number, starting at 1.",
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
},
|
||
|
|
"page_size": {
|
||
|
|
"default": 20,
|
||
|
|
"description": "Number of results per page.",
|
||
|
|
"maximum": 100,
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "get_folders",
|
||
|
|
"description": "Get all folders with message counts.\n\nReturns system folders (INBOX, Sent, Drafts, Trash) and custom folders.\n\nReturns:\n JSON with folder list including name, total, unread, is_system.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "get_groups",
|
||
|
|
"description": "Get all addressable contact groups.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "get_mailbox_stats",
|
||
|
|
"description": "Get overall mailbox statistics.\n\nReturns owner info, total counts, and per-folder breakdown.\n\nReturns:\n JSON with comprehensive mailbox statistics.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "get_scheduled_emails",
|
||
|
|
"description": "Get list of emails scheduled for later delivery.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"page": {
|
||
|
|
"default": 1,
|
||
|
|
"description": "Page number, starting at 1.",
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
},
|
||
|
|
"page_size": {
|
||
|
|
"default": 20,
|
||
|
|
"description": "Number of results per page.",
|
||
|
|
"maximum": 100,
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "get_unread_count",
|
||
|
|
"description": "Get unread email count for folders.\n\nArgs:\n folder: Specific folder (optional)\n\nReturns:\n JSON with unread counts per folder.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"folder": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"description": "Folder name.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "import_state",
|
||
|
|
"description": "Replace the full mailbox state with the provided JSON.\n\nAccepts either the flat MailboxData shape (loaded into the ``default``\nmailbox) or the multi-mailbox wrapper (``{\"mailboxes\": {mailbox_id: ...}}``).\nFor synthetic-data injection and test setup.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"state": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "Root schema for mock mailbox data.",
|
||
|
|
"properties": {
|
||
|
|
"mailbox": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "Identity of the mailbox owner",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the mailbox owner",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the mailbox owner",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"contacts": {
|
||
|
|
"description": "Valid contacts",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "A valid email contact in the closed-world simulation.",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the contact",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the contact",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"groups": {
|
||
|
|
"description": "Addressable contact groups",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An addressable email group in the closed-world simulation.",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the group",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the group",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"members": {
|
||
|
|
"description": "Contact emails included in the group",
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"minItems": 1,
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name",
|
||
|
|
"members"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"folders": {
|
||
|
|
"description": "Custom folders",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "A custom email folder.",
|
||
|
|
"properties": {
|
||
|
|
"name": {
|
||
|
|
"description": "Folder name",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"emails": {
|
||
|
|
"description": "All emails (including drafts in Drafts folder)",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An email message in the mailbox.",
|
||
|
|
"properties": {
|
||
|
|
"email_id": {
|
||
|
|
"description": "Unique email identifier",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"folder": {
|
||
|
|
"description": "Folder containing the email",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"subject": {
|
||
|
|
"description": "Email subject line",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"from_addr": {
|
||
|
|
"description": "Sender email address",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"to_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"description": "Recipient(s), comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"cc_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "CC recipients, comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"bcc_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "BCC recipients, comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"date": {
|
||
|
|
"description": "Date/time the email was sent",
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"message_id": {
|
||
|
|
"description": "RFC 2822 Message-ID",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"in_reply_to": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "Message-ID of the email this is replying to"
|
||
|
|
},
|
||
|
|
"body_text": {
|
||
|
|
"description": "Plain text body",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"body_html": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "HTML body"
|
||
|
|
},
|
||
|
|
"is_read": {
|
||
|
|
"default": false,
|
||
|
|
"description": "Whether the email has been read",
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
"is_important": {
|
||
|
|
"default": false,
|
||
|
|
"description": "Whether the email is marked important",
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
"labels": {
|
||
|
|
"description": "Search labels attached to the email",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"attachments": {
|
||
|
|
"description": "Email attachments",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An email attachment with base64-encoded content.",
|
||
|
|
"properties": {
|
||
|
|
"filename": {
|
||
|
|
"description": "Filename of the attachment",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"content_type": {
|
||
|
|
"description": "MIME type",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"content_base64": {
|
||
|
|
"contentEncoding": "base64",
|
||
|
|
"description": "Base64-encoded file content",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"filename",
|
||
|
|
"content_type",
|
||
|
|
"content_base64"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"scheduled_time": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "Scheduled send time (None if not scheduled)"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_id",
|
||
|
|
"folder",
|
||
|
|
"subject",
|
||
|
|
"from_addr",
|
||
|
|
"to_addr",
|
||
|
|
"date",
|
||
|
|
"message_id",
|
||
|
|
"body_text"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"next_email_id": {
|
||
|
|
"default": 1,
|
||
|
|
"description": "Next email ID counter",
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"mailbox"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "Root schema for multi-mailbox Google Mail state.",
|
||
|
|
"properties": {
|
||
|
|
"mailboxes": {
|
||
|
|
"additionalProperties": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "Root schema for mock mailbox data.",
|
||
|
|
"properties": {
|
||
|
|
"mailbox": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "Identity of the mailbox owner",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the mailbox owner",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the mailbox owner",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"contacts": {
|
||
|
|
"description": "Valid contacts",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "A valid email contact in the closed-world simulation.",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the contact",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the contact",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"groups": {
|
||
|
|
"description": "Addressable contact groups",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An addressable email group in the closed-world simulation.",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"description": "Email address of the group",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"description": "Display name of the group",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"members": {
|
||
|
|
"description": "Contact emails included in the group",
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"minItems": 1,
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email",
|
||
|
|
"name",
|
||
|
|
"members"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"folders": {
|
||
|
|
"description": "Custom folders",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "A custom email folder.",
|
||
|
|
"properties": {
|
||
|
|
"name": {
|
||
|
|
"description": "Folder name",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"name"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"emails": {
|
||
|
|
"description": "All emails (including drafts in Drafts folder)",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An email message in the mailbox.",
|
||
|
|
"properties": {
|
||
|
|
"email_id": {
|
||
|
|
"description": "Unique email identifier",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"folder": {
|
||
|
|
"description": "Folder containing the email",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"subject": {
|
||
|
|
"description": "Email subject line",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"from_addr": {
|
||
|
|
"description": "Sender email address",
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"to_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"description": "Recipient(s), comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"cc_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "CC recipients, comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"bcc_addr": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"items": {
|
||
|
|
"format": "email",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "BCC recipients, comma-separated string or list of strings"
|
||
|
|
},
|
||
|
|
"date": {
|
||
|
|
"description": "Date/time the email was sent",
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"message_id": {
|
||
|
|
"description": "RFC 2822 Message-ID",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"in_reply_to": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "Message-ID of the email this is replying to"
|
||
|
|
},
|
||
|
|
"body_text": {
|
||
|
|
"description": "Plain text body",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"body_html": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "HTML body"
|
||
|
|
},
|
||
|
|
"is_read": {
|
||
|
|
"default": false,
|
||
|
|
"description": "Whether the email has been read",
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
"is_important": {
|
||
|
|
"default": false,
|
||
|
|
"description": "Whether the email is marked important",
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
"labels": {
|
||
|
|
"description": "Search labels attached to the email",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"attachments": {
|
||
|
|
"description": "Email attachments",
|
||
|
|
"items": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"description": "An email attachment with base64-encoded content.",
|
||
|
|
"properties": {
|
||
|
|
"filename": {
|
||
|
|
"description": "Filename of the attachment",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"content_type": {
|
||
|
|
"description": "MIME type",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"content_base64": {
|
||
|
|
"contentEncoding": "base64",
|
||
|
|
"description": "Base64-encoded file content",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"filename",
|
||
|
|
"content_type",
|
||
|
|
"content_base64"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"scheduled_time": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null,
|
||
|
|
"description": "Scheduled send time (None if not scheduled)"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_id",
|
||
|
|
"folder",
|
||
|
|
"subject",
|
||
|
|
"from_addr",
|
||
|
|
"to_addr",
|
||
|
|
"date",
|
||
|
|
"message_id",
|
||
|
|
"body_text"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"next_email_id": {
|
||
|
|
"default": 1,
|
||
|
|
"description": "Next email ID counter",
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"mailbox"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"description": "Mailbox state keyed by mailbox identifier.",
|
||
|
|
"minProperties": 1,
|
||
|
|
"propertyNames": {
|
||
|
|
"description": "Mailbox identifier",
|
||
|
|
"minLength": 1
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"mailboxes"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"state"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"additionalProperties": true,
|
||
|
|
"type": "object"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "list_mailboxes",
|
||
|
|
"description": "List all available mailboxes.\n\nReturns:\n JSON with mailbox IDs, email addresses, and names.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "mark_emails",
|
||
|
|
"description": "Mark emails as read/unread or important/not important.\n\nArgs:\n email_ids: List of email IDs to mark\n is_read: Set read status (optional)\n is_important: Set important status (optional)\n\nReturns:\n JSON with number of emails updated.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email_ids": {
|
||
|
|
"description": "One or more email IDs.",
|
||
|
|
"items": {
|
||
|
|
"description": "Email ID.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"minItems": 1,
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"is_read": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"is_important": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_ids"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "move_emails",
|
||
|
|
"description": "Move one or more emails to a different folder.\n\nPartial success is allowed \u2014 emails or folders that don't exist surface\nin the errors list but don't abort the batch.\n\nArgs:\n email_ids: IDs of the emails to move (pass a single-element list for one)\n target_folder: Name of the target folder\n\nReturns:\n JSON with per-id status and a moved/failed count.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email_ids": {
|
||
|
|
"description": "One or more email IDs.",
|
||
|
|
"items": {
|
||
|
|
"description": "Email ID.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"minItems": 1,
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
"target_folder": {
|
||
|
|
"description": "Folder name.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_ids",
|
||
|
|
"target_folder"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "read_email",
|
||
|
|
"description": "Read an email and mark it as read.\n\nReturns the full email content including body and attachments.\n\nArgs:\n email_id: ID of the email to read\n\nReturns:\n JSON with full email details.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email_id": {
|
||
|
|
"description": "Email ID.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_id"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "reply_email",
|
||
|
|
"description": "Reply to an email.\n\nCreates a reply with proper subject prefix and recipients.\n\nArgs:\n email_id: ID of the email to reply to\n body: Reply body text\n html_body: HTML body (optional)\n reply_all: Reply to all recipients\n\nReturns:\n JSON with sent status and reply email summary.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"email_id": {
|
||
|
|
"description": "Email ID.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"body": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"html_body": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"reply_all": {
|
||
|
|
"default": false,
|
||
|
|
"type": "boolean"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"email_id",
|
||
|
|
"body"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "save_draft",
|
||
|
|
"description": "Save a new email draft.\n\nArgs:\n subject: Draft subject\n body: Draft body\n html_body: HTML body (optional)\n to: Recipient(s), comma-separated (optional)\n cc: CC recipient(s), comma-separated (optional)\n bcc: BCC recipient(s), comma-separated (optional)\n\nReturns:\n JSON with saved draft details.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"subject": {
|
||
|
|
"default": "",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"body": {
|
||
|
|
"default": "",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"html_body": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"to": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"cc": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"bcc": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "schedule_email",
|
||
|
|
"description": "Schedule an email for later delivery.\n\nArgs:\n to: Recipient(s), comma-separated\n subject: Email subject\n body: Plain text email body\n scheduled_time: ISO 8601 datetime for when to send (e.g., '2024-12-25T09:00:00Z')\n html_body: HTML body (optional)\n cc: CC recipient(s), comma-separated (optional)\n bcc: BCC recipient(s), comma-separated (optional)",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"to": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"subject": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"body": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"scheduled_time": {
|
||
|
|
"description": "ISO 8601 scheduled send time.",
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"html_body": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"cc": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"bcc": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"to",
|
||
|
|
"subject",
|
||
|
|
"body",
|
||
|
|
"scheduled_time"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "search_contacts",
|
||
|
|
"description": "Search contacts by name or email address (case-insensitive).\n\nArgs:\n query: Search string to match against contact name or email",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"query": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"query"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "search_emails",
|
||
|
|
"description": "Search emails by query string. Supports Gmail-style operators.\n\nBare words are ANDed together and matched across subject, body, from,\nand to. Double-quoted segments require exact adjacency. Combine freely,\ne.g. `from:alice after:2026/03/01 invoice`.\n\nOperators:\n from:alice match sender substring (alice@... hits this)\n to:bob match to recipient substring (strict; use cc:/bcc: for other fields)\n cc:alice / bcc:alice match cc/bcc recipient substring\n subject:meeting match subject substring\n has:attachment messages with one or more attachments\n filename:agenda.pdf match attachment filename substring\n is:unread state filters: unread, read, important\n in:sent exact folder match\n label:client exact label match when labels exist; otherwise folder-style match\n \"exact phrase\" match a contiguous phrase\n -term exclude messages containing term (works with operators, e.g. -from:bob)\n invoice OR billing boolean OR (uppercase; lowercase 'or' is literal)\n before:2026/04/01 messages strictly before date (YYYY/MM/DD or YYYY-MM-DD)\n after:2026/04/01 messages on or after date\n newer_than:7d messages within last N days (d), months (m = 30d), or years (y = 365d)\n older_than:1y messages older than N d|m|y\n\nParenthesized boolean grouping is not supported; `OR` joins adjacent terms only.\nUnsupported or malformed search syntax is reported in a `warnings` array\nwhile preserving best-effort search behavior.\n\nArgs:\n query: Search query (supports the operators above).\n folder: Folder to limit search (optional).\n page: Page number (1-indexed).\n page_size: Results per page (max 100).\n\nReturns:\n JSON with matching emails and pagination info.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"query": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"folder": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"description": "Folder name.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"page": {
|
||
|
|
"default": 1,
|
||
|
|
"description": "Page number, starting at 1.",
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
},
|
||
|
|
"page_size": {
|
||
|
|
"default": 20,
|
||
|
|
"description": "Number of results per page.",
|
||
|
|
"maximum": 100,
|
||
|
|
"minimum": 1,
|
||
|
|
"type": "integer"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"query"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "search_groups",
|
||
|
|
"description": "Search groups by name or email address (case-insensitive).",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"query": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"query"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "send_email",
|
||
|
|
"description": "Send an email.\n\nRecipients must be valid contacts in your address book.\nIf sending to a group you're a member of, you'll receive a copy.\n\nArgs:\n to: Recipient(s), comma-separated\n subject: Email subject\n body: Plain text email body\n html_body: HTML body (optional)\n cc: CC recipients, comma-separated (optional)\n bcc: BCC recipients, comma-separated (optional)\n attachments: Paths to files to attach (optional)\n\nReturns:\n JSON with sent status and email summary.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"to": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"subject": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"body": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"html_body": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"cc": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"bcc": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"attachments": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"description": "Paths to files to attach.",
|
||
|
|
"items": {
|
||
|
|
"description": "Path to a file to attach.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"minItems": 1,
|
||
|
|
"type": "array"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"to",
|
||
|
|
"subject",
|
||
|
|
"body"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "update_draft",
|
||
|
|
"description": "Update an existing draft.\n\nOnly provided fields are updated; others remain unchanged.\n\nArgs:\n draft_id: ID of the draft to update\n subject: New subject (optional)\n body: New body (optional)\n html_body: New HTML body (optional)\n to: New recipient(s), comma-separated (optional)\n cc: New CC recipient(s), comma-separated (optional)\n bcc: New BCC recipient(s), comma-separated (optional)\n\nReturns:\n JSON with updated draft details.",
|
||
|
|
"inputSchema": {
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"draft_id": {
|
||
|
|
"description": "Draft ID.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"subject": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"body": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"html_body": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"to": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"cc": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"bcc": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"type": "null"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"default": null
|
||
|
|
},
|
||
|
|
"mailbox_id": {
|
||
|
|
"default": "default",
|
||
|
|
"description": "Mailbox identifier.",
|
||
|
|
"minLength": 1,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"draft_id"
|
||
|
|
],
|
||
|
|
"type": "object"
|
||
|
|
},
|
||
|
|
"outputSchema": {
|
||
|
|
"properties": {
|
||
|
|
"result": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
"result"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"x-fastmcp-wrap-result": true
|
||
|
|
}
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"toolsets": {
|
||
|
|
"read": [
|
||
|
|
"download_attachment",
|
||
|
|
"get_contacts",
|
||
|
|
"get_groups",
|
||
|
|
"get_drafts",
|
||
|
|
"get_emails",
|
||
|
|
"get_folders",
|
||
|
|
"get_mailbox_stats",
|
||
|
|
"get_scheduled_emails",
|
||
|
|
"get_unread_count",
|
||
|
|
"list_mailboxes",
|
||
|
|
"search_contacts",
|
||
|
|
"search_groups",
|
||
|
|
"search_emails"
|
||
|
|
],
|
||
|
|
"write": [
|
||
|
|
"add_contact",
|
||
|
|
"add_group",
|
||
|
|
"cancel_scheduled_email",
|
||
|
|
"create_folder",
|
||
|
|
"delete_contact",
|
||
|
|
"delete_group",
|
||
|
|
"delete_draft",
|
||
|
|
"delete_emails",
|
||
|
|
"delete_folder",
|
||
|
|
"edit_contact",
|
||
|
|
"edit_group",
|
||
|
|
"forward_email",
|
||
|
|
"mark_emails",
|
||
|
|
"move_emails",
|
||
|
|
"read_email",
|
||
|
|
"reply_email",
|
||
|
|
"save_draft",
|
||
|
|
"schedule_email",
|
||
|
|
"send_email",
|
||
|
|
"update_draft"
|
||
|
|
],
|
||
|
|
"core": [
|
||
|
|
"forward_email",
|
||
|
|
"get_emails",
|
||
|
|
"read_email",
|
||
|
|
"reply_email",
|
||
|
|
"search_emails",
|
||
|
|
"send_email",
|
||
|
|
"create_folder",
|
||
|
|
"delete_draft",
|
||
|
|
"delete_emails",
|
||
|
|
"delete_folder",
|
||
|
|
"download_attachment",
|
||
|
|
"get_contacts",
|
||
|
|
"get_drafts",
|
||
|
|
"get_folders",
|
||
|
|
"get_mailbox_stats",
|
||
|
|
"get_unread_count",
|
||
|
|
"mark_emails",
|
||
|
|
"move_emails",
|
||
|
|
"save_draft",
|
||
|
|
"update_draft"
|
||
|
|
],
|
||
|
|
"messages": [
|
||
|
|
"delete_emails",
|
||
|
|
"download_attachment",
|
||
|
|
"forward_email",
|
||
|
|
"get_emails",
|
||
|
|
"get_mailbox_stats",
|
||
|
|
"get_unread_count",
|
||
|
|
"list_mailboxes",
|
||
|
|
"mark_emails",
|
||
|
|
"move_emails",
|
||
|
|
"read_email",
|
||
|
|
"reply_email",
|
||
|
|
"search_emails",
|
||
|
|
"send_email"
|
||
|
|
],
|
||
|
|
"contacts": [
|
||
|
|
"add_contact",
|
||
|
|
"add_group",
|
||
|
|
"delete_contact",
|
||
|
|
"delete_group",
|
||
|
|
"edit_contact",
|
||
|
|
"edit_group",
|
||
|
|
"get_contacts",
|
||
|
|
"get_groups",
|
||
|
|
"search_contacts",
|
||
|
|
"search_groups"
|
||
|
|
],
|
||
|
|
"folders": [
|
||
|
|
"create_folder",
|
||
|
|
"delete_folder",
|
||
|
|
"get_folders",
|
||
|
|
"move_emails"
|
||
|
|
],
|
||
|
|
"drafts": [
|
||
|
|
"delete_draft",
|
||
|
|
"get_drafts",
|
||
|
|
"save_draft",
|
||
|
|
"update_draft"
|
||
|
|
],
|
||
|
|
"scheduling": [
|
||
|
|
"cancel_scheduled_email",
|
||
|
|
"get_scheduled_emails",
|
||
|
|
"schedule_email"
|
||
|
|
],
|
||
|
|
"toolathlon_legacy": [
|
||
|
|
"create_folder",
|
||
|
|
"delete_draft",
|
||
|
|
"delete_emails",
|
||
|
|
"delete_folder",
|
||
|
|
"download_attachment",
|
||
|
|
"forward_email",
|
||
|
|
"get_contacts",
|
||
|
|
"get_groups",
|
||
|
|
"get_drafts",
|
||
|
|
"get_emails",
|
||
|
|
"get_folders",
|
||
|
|
"get_mailbox_stats",
|
||
|
|
"get_unread_count",
|
||
|
|
"mark_emails",
|
||
|
|
"move_emails",
|
||
|
|
"read_email",
|
||
|
|
"reply_email",
|
||
|
|
"save_draft",
|
||
|
|
"search_emails",
|
||
|
|
"send_email",
|
||
|
|
"update_draft"
|
||
|
|
],
|
||
|
|
"state": [
|
||
|
|
"export_state",
|
||
|
|
"import_state"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|